编写一个函数,以字符串作为输入,反转该字符串中的元音字母。
示例 1: 输入: “hello” 输出: “holle”
示例 2: 输入: “leetcode” 输出: “leotcede”
注:元音aeiou
解题:
对撞指针,两个指针分别从两侧向中间移动。如果两边都是元音字母,那么我们交换,如果左边的不是元音,左侧向右移动一位,如果右边的不是,则右侧指针向左移动一位,代码如下
注意:题目给的是字符串,所以有一个字符串和列表的相互转换过程。
class Solution:
def reverseVowels(self, s: str) -> str:
i = 0
j = len(s)-1
list1 = list(s)
t = ['a','e','i','o','u','A','E','I','O','U']
while(i<j):
if list1[i] not in t:
i +=1
elif list1[j] not in t:
j -=1
else:
list1[i],list1[j] = list1[j],list1[i]
i +=1
j -=1
return "".join(list1)