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

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

元音字母包括 ‘a’、’e’、’i’、’o’、’u’,且可能以大小写两种形式出现。

示例 1:

1
2
输入:s = "hello"
输出:"holle"

示例  2:

1
2
输入:s = "leetcode"
输出:"leotcede"

代码实现: 双指针

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/**
* @param {string} s
* @return {string}
*/
var reverseVowels = function (s) {
let i = 0;
let j = s.length - 1;
let str = "aeiouAEIOU";
s = s.split("");
while (i < j) {
while (i < j && !str.includes(s[i])) {
i++;
}
while (i < j && !str.includes(s[j])) {
j--;
}
if (i < j) {
[s[i], s[j]] = [s[j], s[i]];
}
j--;
i++;
}
return s.join("");
};