标题:345反转字符串中的元音字母-简单
题目
给你一个字符串
s
,仅反转字符串中的所有元音字母,并返回结果字符串。元音字母包括
'a'
、'e'
、'i'
、'o'
、'u'
,且可能以大小写两种形式出现。
示例1
输入:s = "hello"
输出:"holle"
示例2
输入:s = "leetcode"
输出:"leotcede"
提示
1 <= s.length <= 3 * 105
s
由 可打印的 ASCII 字符组成
代码Java
public String reverseVowels(String s) {
int start = 0;
int end = s.length()-1;
char[] str = s.toCharArray();
while (start < end) {
while(start < str.length){
char x = str[start];
if (x == 'a' || x == 'e' || x == 'i' || x == 'o' || x == 'u'
|| x == 'A' || x == 'E' || x == 'I' || x == 'O' || x == 'U') {
break;
}
start ++;
}
while(end >= 0){
char x = str[end];
if (x == 'a' || x == 'e' || x == 'i' || x == 'o' || x == 'u'
|| x == 'A' || x == 'E' || x == 'I' || x == 'O' || x == 'U') {
break;
}
end --;
}
if (start < end){
char temp = str[start];
str[start] = str[end];
str[end] = temp;
start ++;
end --;
} else break;
}
return new String(str);
}