编写一个函数,以字符串作为输入,反转该字符串中的元音字母。
示例 1:
给定 s = "hello", 返回 "holle".
示例 2:
给定 s = "leetcode", 返回 "leotcede".
注意:
元音字母不包括 "y".
思路:定义两个指针,分别指向字符串的头和尾,当两个指针所指字符都为元音字母时,交换两个字符的位置。
class Solution {
public String reverseVowels(String s) {
if(s==null) {
return null;
}
int len=s.length();
char[] ch=s.toCharArray();
int i=0,j=len-1;
while(i<j) {
if(!isVowels(ch[i])) {
i++;
}
if(!isVowels(ch[j])) {
j--;
}
if(isVowels(ch[i])&&isVowels(ch[j])) {
char temp=ch[i];
ch[i]=ch[j];
ch[j]=temp;
i++;
j--;
}
}
String str=new String(ch);
return str;
}
public boolean isVowels(char c) {
if(c=='a'||c=='e'||c=='i'||c=='o'||c=='u') {
return true;
}
if(c=='A'||c=='E'||c=='I'||c=='O'||c=='U') {
return true;
}
return false;
}
}