题目:反转字符串中的元音字母
编写一个函数,以字符串作为输入,反转该字符串中的元音字母。
示例:
输入: "hello"
输出: "holle"
输入: "leetcode"
输出: "leotcede"
思考:
用双指针,两个指针分别从左右两端寻找元音字母,找到后交换位置即可。
实现:
class Solution {
public String reverseVowels(String s) {
String dict = "aeoiuAEOIU";
char[] array = s.toCharArray();
int left = 0;
int right = array.length - 1;
while (left < right) {
while (left < right && (dict.indexOf(array[left]) < 0)) {
left++;
}
while (left < right && (dict.indexOf(array[right]) < 0)) {
right--;
}
if (left < right) {
char temp = array[left];
array[left] = array[right];
array[right] = temp;
left++;
right--;
}
}
return new String(array);
}
}