Leetcode练习(Python):第345题:反转字符串中的元音字母:编写一个函数,以字符串作为输入,反转该字符串中的元音字母。

Posted 桌子哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode练习(Python):第345题:反转字符串中的元音字母:编写一个函数,以字符串作为输入,反转该字符串中的元音字母。相关的知识,希望对你有一定的参考价值。

题目:

反转字符串中的元音字母:编写一个函数,以字符串作为输入,反转该字符串中的元音字母。

示例 1:

输入: "hello"
输出: "holle"
示例 2:

输入: "leetcode"
输出: "leotcede"
说明:
元音字母不包含字母"y"。

思路:

双指针,注意元音的大小写都要有。

程序:

class Solution:
    def reverseVowels(self, s: str) -> str:
        vowel_list = [‘a‘,‘e‘,‘i‘,‘o‘,‘u‘,‘A‘,‘E‘,‘I‘,‘O‘,‘U‘]
        if not s:
            return s
        if len(s) == 1:
            return s
        auxiliary = []
        for index in range(len(s)):
            auxiliary.append(s[index])
        index1 = 0
        index2 = len(auxiliary) - 1
        while index1 <= index2:
            if auxiliary[index1] in vowel_list:
                if auxiliary[index2] in vowel_list:
                    auxiliary[index1], auxiliary[index2] = auxiliary[index2], auxiliary[index1]
                    index1 += 1
                    index2 -= 1
                else:
                    index2 -= 1
            else:
                index1 += 1
        result = ‘‘
        for index3 in range(len((auxiliary))):
            result += auxiliary[index3]
        return result

  

以上是关于Leetcode练习(Python):第345题:反转字符串中的元音字母:编写一个函数,以字符串作为输入,反转该字符串中的元音字母。的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode练习(Python):数学类:第29题:两数相除:给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法除法和 mo(

Leetcode练习(Python):链表类:第206题:反转链表:反转一个单链表。

Leetcode练习(Python):数学类:第50题:Pow(x, n):实现 pow(x, n) ,即计算 x 的 n 次幂函数。

Leetcode练习(Python):数学类:第50题:Pow(x, n):实现 pow(x, n) ,即计算 x 的 n 次幂函数。

Leetcode练习(Python):链表类:第92题:反转链表 II:反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。

Leetcode练习(Python):栈类:第145题:二叉树的后序遍历:给定一个二叉树,返回它的 后序 遍历。