编写一个函数,以字符串作为输入,反转该字符串中的元音字母。
示例 1:
输入:“hello”
输出:“holle”
示例 2:
输入:“leetcode”
输出:“leotcede”
class Solution(object):
def reverseVowels(self, s):
"""
:type s: str
:rtype: str 注意 字符串是不可以直接修改里面的某一位的。可以先转化成列表的形式。
"""
if not s:
return s
s = list(s)
index1 = 0
index2 = len(s) - 1
sign1 = 0
sign2 = 0
# 直接用字典存放少数,不要冗余地判断!!
letter_dict = {"a", "e", "i", "o", "u", "A", "E", "I", "O", "U"}
while index1 <= index2:
if s[index1] not in letter_dict:
index1 += 1
else:
sign1 = 1
if s[index2] not in letter_dict:
index2 -= 1
else:
sign2 = 1
if sign1 and sign2:
aa = s[index1]
bb = s[index2]
s[index1] = bb
s[index2] = aa
sign1 = 0
sign2 = 0
index1 += 1
index2 -= 1
return "".join(s) # 列表转换字符串!!