- 题目:反转字符串中的元音字母
- 难度:Easy
- 思路:借鉴二分查找的思想,分别从前后进行查找,找到元音字母,就交换
- 代码:
public class Solution {
public String reverseVowels(String s) {
if(s == null || s.equals("")){
return s;
}
String vowels = "aeouiAEOUI";
StringBuilder sb = new StringBuilder(s);
int len = s.length();
int left = 0;
int right = len-1;
while(left < right){
char ch1 = sb.charAt(left);
char ch2 = sb.charAt(right);
while(left < right && vowels.indexOf(ch1) == -1){
left++;
ch1 = sb.charAt(left);
}
while(left < right && vowels.indexOf(ch2) == -1){
right--;
ch2 = sb.charAt(right);
}
if(left < right){
sb.replace(left,left+1,String.valueOf(ch2));
sb.replace(right,right+1,String.valueOf(ch1));
}
left++;
right--;
}
return sb.toString();
}
}