leetcode 345. 反转字符串中的元音字母 python
给你一个字符串 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 * 105s由 可打印的 ASCII 字符组成class Solution:def reverseVowels(self, s: str) -> str:stack = []top = 0length = 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+=1mid = top//2x = top-1s1 = list(s)//字符串不可修改,转为列表for i in range(mid):temp = s1[stack[i]]s1[stack[i]] = s1[stack[x]]s1[stack[x]] = tempx-=1return ''.join(s1)//列表转为字符串
