您的位置:首页 > 编程语言 > Python开发

leetcode之Reverse Vowels of a String

2016-06-09 01:35 330 查看
这题是典型的双指针问题,前后各一个指针用来检测是否是元音,都是的话互相交换来解决。

class Solution(object):
def reverseVowels(self, s):
"""
:type s: str
:rtype: str
"""
if len(s) < 2:
return s
i = 0
j = len(s) - 1
vowels = ['a', 'e', 'i', 'o', 'u']
s1 = list(s)
s = s.lower()
while i < j:
if s[i] not in vowels:
i = i + 1
if s[j] not in vowels:
j = j - 1
if i < j and s[i] in vowels and s[j] in vowels:
s1[i], s1[j] = s1[j], s1[i]
i = i + 1
j = j - 1
return ''.join(s1)


理论上leetcode的344. Reverse String也是同样的道理。不过我还是更喜欢return s[::-1]一句话来搞定。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息