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

149 阅读1分钟

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

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

输入: "hello"      输出: "holle"
输入: "leetcode"  输出: "leotcede"
class Solution:  # 左右双指针,遇到元音字母交换即可。
    def reverseVowels(self, s: str) -> str:
        vowels = set(["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]) 
        s = list(s)  # 上面一行,set比list查找更快
        start, end = 0, len(s) - 1
        while start < end:
            if s[start] not in vowels:
                start += 1
            elif s[end] not in vowels:
                end -= 1
            else:
                s[start], s[end] = s[end], s[start]
                start += 1
                end -= 1
        return "".join(s)