1. 题目描述
给一个字符串,将字符串中前后对应的元音字母进行反转,即左边一半的元音字母与右边一半元音字母镜像反转
Example 1:
Input: "hello"
Output: "holle"
Example 2:
Input: "leetcode"
Output: "leotcede"
2. 解题代码
class Solution:
def reverseVowels(self, s: str) -> str:
vowels = ['a','e','i','o','u','A','E','I','O','U']
lens = len(s)
i = 0
j = lens-1
list_s = list(s)
while i < j : #保证左边索引不超过右边
if list_s[i] not in vowels : #判断左边的元音字符,如果对应位置的字符不是元音字母,则索引加一
i += 1
#continue
if list_s[j] not in vowels : #判断右边的元音字符,如果对应位置的字符不是元音字母,则索引减一
j -= 1
#continue
if list_s[i] in vowels and list_s[j] in vowels : #判断当次循环下索引i, j对应的字符是否同时是元音字母,如果是,则交换位置
list_s[i], list_s[j]= list_s[j], list_s[i]
i += 1
j -= 1
return "".join(list_s) #将字符串的列表转换为字符串返回