求star

开源不易,喜欢请点个star吧

Ocean Han
162 字
1 分钟
Leetcode->翻转字符串中的元音字母
2022-07-27

题目#

给你一个字符串 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/反转字符串中的元音字母/
作者
Ocean Han
发布于
2022-07-27
许可协议
CC BY-NC-SA 4.0
最后修改时间
2024-08-10 10:08:49