给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串。
元音字母包括 'a'、'e'、'i'、'o'、'u',且可能以大小写两种形式出现不止一次。
示例 1:
**输入:**s = "IceCreAm"
输出:"AceCreIm"
解释:
s 中的元音是 ['I', 'e', 'e', 'A']。反转这些元音,s 变为 "AceCreIm".
示例 2:
**输入:**s = "leetcode"
输出:"leotcede"
提示:
-
1 <= s.length <= 3 * 105 -
s由 可打印的 ASCII 字符组成pythonclass Solution: def reverseVowels(self, s: str) -> str: stack = [] top = 0 length = len(s) for i in range(length): if(s[i]=='a' or s[i]=='e' or s[i]=='i' or s[i]=='o' or s[i]=='u' or s[i]=='A' or s[i]=='E' or s[i]=='I' or s[i]=='O' or s[i]=='U'): stack.append(i) top+=1 mid = top//2 x = top-1 s1 = list(s)//字符串不可修改,转为列表 for i in range(mid): temp = s1[stack[i]] s1[stack[i]] = s1[stack[x]] s1[stack[x]] = temp x-=1 return ''.join(s1)//列表转为字符串