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

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

 

/**
 * @param {string} s
 * @return {string}
 */
var reverseVowels = function(s) {
  const vowels = 'aeiouAEIOU'
  var isVowels = (ch) => {
    return vowels.indexOf(ch) > -1
  }
  let n = s.length
  let left = 0, right = n - 1
  let arr = Array.from(s)
  while(left < right){
    while(left < right && !isVowels(arr[left])){
      left += 1
    }
    while(left < right && !isVowels(arr[right])){
      right -= 1
    }
    if(left < right){
      [arr[left], arr[right]] = [arr[right], arr[left]]
      left += 1
      right -= 1
    }
  }
  return arr.join('')
};

 

示例 1:

输入:"hello"
输出:"holle"

示例 2:

输入:"leetcode"
输出:"leotcede"

 

提示:

  • 元音字母不包含字母 "y" 。
posted @ 2021-08-19 12:32  尖子  阅读(59)  评论(0编辑  收藏  举报