反转字符串中的元音字母(简单)
2020年6月18日
题目来源:力扣
解题
- 双指针
class Solution {
public String reverseVowels(String s) {
if(s==null || s.length()==0) return s;
int l=0;
int r=s.length()-1;
char[] cc=s.toCharArray();
while(l<r){
if(isyuanyin(cc[l]) || isyuanyin(cc[r])){
if(isyuanyin(cc[l]) && isyuanyin(cc[r])){
char ch=cc[r];
cc[r]=cc[l];
cc[l]=ch;
l++;
r--;
}
else if(isyuanyin(cc[l]))
r--;
else if(isyuanyin(cc[r]))
l++;
}
else{
l++; r--;
}
}
return new String(cc);
}
public boolean isyuanyin(char ch){
if(ch=='a'||ch=='e'||ch=='i'||ch=='o'||ch=='u'||ch=='A'||ch=='E'||ch=='I'||ch=='O'||ch=='U')
return true;
return false;
}
}