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) #将字符串的列表转换为字符串返回