• 345. 反转字符串中的元音字母


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

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


    思路:双指针
    注:要加好指针的判断,不能越界。
     1 class Solution(object):
     2     def reverseVowels(self, s):
     3         """
     4         :type s: str
     5         :rtype: str
     6         """
     7         # 元音字母集合
     8         love = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']
     9         # 将原串转成集合,方便交换元素
    10         lists = list(s)
    11         # print(lists)
    12         i = 0
    13         j = len(lists) - 1
    14         while i < j:
    15             if i < j and lists[i] not in love:
    16                 i += 1
    17             if i < j and lists[j] not in love:
    18                 j -= 1
    19             # 当i、j指向的元素都是元音时才交换
    20             if i < j and lists[i] in love and lists[j] in love:
    21                 lists[i], lists[j] = lists[j], lists[i]
    22                 i += 1
    23                 j -= 1
    24         return ''.join(lists)
    25 
    26 if __name__ == '__main__':
    27     solution = Solution()
    28     print(solution.reverseVowels("leetcode"))
    29     print(solution.reverseVowels("hello"))
    30     print(solution.reverseVowels("a.b,."))
     
  • 相关阅读:
    JSOI2010 满汉全席
    LNOI2014 LCA
    BZOJ3689 异或之
    Codeforces Round #553 div.2
    AHOI2013 差异
    SDOI2016 生成魔咒
    NOI2006 最大获利
    没有过的题QAQ
    NOI2014 动物园
    HDU4622 Reincarnation
  • 原文地址:https://www.cnblogs.com/panweiwei/p/12682118.html
Copyright © 2020-2023  润新知