编写一个函数,以字符串作为输入,反转该字符串中的元音字母。
示例 1:
输入: "hello" 输出: "holle"
示例 2:
输入: "leetcode" 输出: "leotcede"
说明:
元音字母不包含字母"y"。
思路:维护两个指针,一个从前向后检索元音,一个从后向前检索元音,然后交换。
代码实现:
class Solution {
public static String reverseVowels(String s) {
char[] chs=s.toCharArray();
int fir = 0;
int last = chs.length-1;
while (fir<last)
{
if (chs[fir]!='a'&&chs[fir]!='e'&&chs[fir]!='i'&&
chs[fir]!='o'&&chs[fir]!='u'&&chs[fir]!='A'&&
chs[fir]!='E'&&chs[fir]!='I'&&chs[fir]!='O'&&
chs[fir]!='U')
{
fir++;
continue;
}
if (chs[last]!='a'&&chs[last]!='e'&&chs[last]!='i'&&
chs[last]!='o'&&chs[last]!='u'&&chs[last]!='A'&&
chs[last]!='E'&&chs[last]!='I'&&chs[last]!='O'&&
chs[last]!='U')
{
last--;
continue;
}
//交换
char temp =chs[fir];
chs[fir]=chs[last];
chs[last]=temp;
fir++;
last--;
}
return String.valueOf(chs);
}
}