编写一个函数,以字符串作为输入,反转该字符串中的元音字母。
示例 1:
输入: "hello"
输出: "holle"
示例 2:
输入: "leetcode"
输出: "leotcede"
说明:
- 元音字母不包含字母"y"。
思路
这题我们可以把字符串s
转成数组来解决,
- 用
vowels
存储所有的元音字母(包括大小写) arr
为s通过split
转成的数组- 双指针遍历如果
left
指针和right
指针 都是原音字母那么交换位置 否则哪个指针不是元音则哪个缩减范围
代码
var reverseVowels = function(s) {
const vowels = ['a','e','i','o','u','A','E','I','O','U'];
let left = 0, right = s.length-1, arr = s.split('');
while(left <= right){
if(!vowels.includes(s[left])){
left++;
continue;
}
if(!vowels.includes(s[right])){
right--;
continue;
}
arr[left] = s[right];
arr[right--] = s[left++];
}
return arr.join('');
};```