Skip to content
On this page

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

给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串。

元音字母包括 'a'、'e'、'i'、'o'、'u',且可能以大小写两种形式出现不止一次。

示例 1:
输入:s = "holle"
输出:"holle"

示例 2:
输入:s = "leetcode"
输出:"leotcede"

提示:
1 <= s.length <= 3 * 105

s 由 可打印的 ASCII 字符组成

javascript
/**
 * @param {string} s
 * @return {string}
 */
var reverseVowels = function (s) {
  var words = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"],
    sArr = s.split(""),
    left = 0,
    right = sArr.length - 1
  while (left < right) {
    while (!words.includes(sArr[left]) && left < right) {
      left++
    }
    while (!words.includes(sArr[right]) && right > 0) {
      right--
    }
    if (left < right) {
      var temp = sArr[left]
      sArr[left] = sArr[right]
      sArr[right] = temp
    }
    left++
    right--
  }

  return sArr.join("")
}
console.log(reverseVowels("hello") === "holle")
console.log(reverseVowels("leetcode") === "leotcede")