编写一个函数,以字符串作为输入,反转该字符串中的元音字母。
示例 1:
输入: "hello"输出: "holle"
示例 2:
输入: "leetcode"输出: "leotcede"
说明: 元音字母不包含字母"y"。
双指针法:
/*** @param {string} s* @return {string}*/var reverseVowels = function(s) {let left = 0, right = s.length - 1let result = swhile (left <= right) {const isValidateLeft = isValidate(s[left])const isValidateRight = isValidate(s[right])if (isValidateLeft && isValidateRight) {result = swap(result, left, right)left++right--}if (!isValidateLeft) {left++}if (!isValidateRight) {right--}}return result}var isValidate = (value) => {return /a|e|i|o|u|A|E|I|O|U/.test(value)}/* 交换位置a, b 为下标*/var swap = function(str, a, b) {const arr = str.split('')const tmp = arr[a]arr[a] = arr[b]arr[b] = tmpreturn arr.join('')}
125、167、344