Skip to content

Latest commit

 

History

History
46 lines (40 loc) · 1.19 KB

345.反转字符串中的元音字母.md

File metadata and controls

46 lines (40 loc) · 1.19 KB

描述

编写一个函数,以字符串作为输入,反转该字符串中的元音字母。

示例 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('');
};```