162 字
1 分钟
Leetcode->翻转字符串中的元音字母
题目
给你一个字符串 s
,仅反转字符串中的所有元音字母,并返回结果字符串。
元音字母包括 'a'
、'e'
、'i'
、'o'
、'u'
,且可能以大小写两种形式出现。
示例 1:
输入:s = "hello"
输出:"holle"
示例 2:
输入:s = "leetcode"
输出:"leotcede"
提示:
1 <= s.length <= 3 * 105
s
由 可打印的 ASCII 字符组成
解题:key:
①双指针
/**
* @param {string} s
* @return {string}
*/
var reverseVowels = function(s) {
let len = s.length
const vowels = ['a','e','i','o','u','A','E','I','O','U']
const arr = Array.from(s)
let left = 0,right = len - 1
while(left < right){
while(left< len && !vowels.includes(s[left])){
left++
}
while(right > 0 && !vowels.includes(arr[right])){
right--
}
if(left < right) {
[arr[left],arr[right]] = [arr[right],arr[left]]
++left
--right
}
}
return arr.join('')
};
Leetcode->翻转字符串中的元音字母
https://blog.oceanh.top/posts/algorithm/反转字符串中的元音字母/