java的思想就是设置前后指针,碰到都是元音字母则交换。本来想在python里面也这样实现,发现python的字符串不能赋值,如果采用合并的方法则空间复杂度太高了,后来发现了这种方法!不过有个地方也没弄懂
class Solution(object):
def reverseVowels(self, s):
"""
:type s: str
:rtype: str
"""
vowels = re.findall('(?i)[aeiou]', s)
# sub函数不是全不替换吗
return re.sub('(?i)[aeiou]', lambda m: vowels.pop(), s)