[LeetCode By Python] 345. Revers

2016-05-30  本文已影响164人  乐乐可爱睡觉

一、题目

Reverse Vowels of a String

二、解题

输入一个字符串,如果是元音字母就不进行逆序,其他字符进行逆序。
想到了两种方法:

三、尝试与结果

1)第一种方法:

class Solution(object):
    def reverseVowels(self, s):
        l = list(s)
        if (len(l)==0):
            return s
        i = 0
        j = len(l)-1
        vowels = ['a','e','i','o','u','A','E','I','O','U']
        while True:
            while (l[i] not in vowels):
                i += 1
                if i > len(l)-1:
                    break
            while (l[j] not in vowels):
                j -= 1
                if j < 0:
                    break
            if i >= j:
                break
            temp = l[i]
            l[i] = l[j]
            l[j] = temp
            i += 1
            j -= 1
        return "".join(l)

思路比较清晰,但是提交过程中却遇到很多问题,列举一下:

  1. 没有考虑到输入为空
  2. 没有考虑到while中i,j的越界

结果:修改了边界和判断后AC

2)第二种方法
尝试了一下,有问题,删除之后的再进行顺序插入的话,每次插入一个顺序都会更新,已经不是之前序列的正常顺序了,作罢。

上一篇 下一篇

猜你喜欢

热点阅读