概述
345. 反转字符串中的元音字母
描述
给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串。
元音字母包括 ‘a’、‘e’、‘i’、‘o’、‘u’,且可能以大小写两种形式出现。
分析
可以这样初始化set
HashSet<char> hash = new HashSet<char>(){'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'};
public class Solution {
public string ReverseVowels(string s) {
if(s.Length <= 1){
return s;
}
int L = 0;
int R = s.Length - 1;
char[] arr = s.ToCharArray();
HashSet<char> hash = new HashSet<char>(){'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'};
while(L < R){
while(L < R && !hash.Contains(s[L])){L++;}
while(L < R && !hash.Contains(s[R])){R--;}
if(s[L] != s[R]){
char temp = arr[L];
arr[L] = arr[R];
arr[R] = temp;
}
L++;
R--;
}
return new string(arr);
}
}
class Solution {
public String reverseVowels(String s) {
char[] str = s.toCharArray();
int left = 0, right = str.length - 1;
while(left < right){
char l = str[left];
char r = str[right];
while(left < right && l != 'a' && l != 'e' && l != 'i' && l != 'o' && l != 'u' && l != 'A' && l != 'E' && l != 'I' && l != 'O' && l != 'U'){
left++;
l = str[left];
}
while(left < right && r != 'a' && r != 'e' && r != 'i' && r != 'o' && r != 'u' && r != 'A' && r != 'E' && r != 'I' && r != 'O' && r != 'U'){
right--;
r = str[right];
}
if(left < right){
str[left] = r;
str[right] = l;
left++;
right--;
}
}
StringBuilder sb = new StringBuilder();
for(char ch : str){
sb.append(ch);
}
return sb.toString();
}
}
最后
以上就是老实发带为你收集整理的字符串简单 LeetCode345. 反转字符串中的元音字母的全部内容,希望文章能够帮你解决字符串简单 LeetCode345. 反转字符串中的元音字母所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复