leetcode345

原创 2016年06月01日 13:49:19

easy,345
*Write a function that takes a string as input and reverse only the vowels of a string.
Example 1:
Given s = “hello”, return “holle”.
Example 2:
Given s = “leetcode”, return “leotcede”.*
自己是这样写的:

class Solution(object):
    def reverseVowels(self, s):
        """
        :type s: str
        :rtype: str
        """
        blist=[]
        for str in s:
            if str in ['a','e','i','o','u','A','E','I','O','U']:
                blist.append(str)
        blist.reverse()
        num=0
        alist=list(s)
        for j in range(len(alist)):
            if alist[j] in ['a','e','i','o','u','A','E','I','O','U']:
                alist[j]=blist[num]
                num=num+1
        news=''.join(alist)
        return news

在Discuss上看到一个想法很好的:

class Solution(object):
    def reverseVowels(self, s):
        """
        :type s: str
        :rtype: str
        """
        vovels=[]
        index=[]
        l=list(s)
        for i in range(len(l)):
                if l[i] in 'aeiouAEIOU':
                    index.append(i)
                    vovels.append(l[i])
        for i in index:
            l[i] = vovels.pop()
        return ''.join(l)
 *这种方法巧妙在:将元音的索引保存在一个数组中,这样就不用像我的方法一样,当要换元素时还要再遍历一遍,还有比较巧妙的事pop()正好是从最后一位开始的 这样就实现的逆序。*          
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

leetcode 345 Reverse Vowels of a String

leetcode345 ---- 翻转字符串中的元音。 解法1:刚开始用最基本的方法:直接去比较s中的每一个字符与元音是否一样,如果一样的话判断为 元音。然后设置前后两个下标,如果都为元音字符则交换。...

LeetCode-345. Reverse Vowels of a String

DescriptionWrite a function that takes a string as input and reverse only the vowels of a string.Exa...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

leetcode_345 Reverse Vowels of a String

题目分析:给定一个字符串,把字符串中的元音字符转置 解题思路:1)定义两个指标i,j,分别指向字符串最前端和字符串最尾端;2)遍历字符串,判断字符串中对应位置字符是否为元音字符,如果是元音字符,停止遍...

leetcode解题之344. Reverse String & 345. Reverse Vowels of a String Java版(反转字符串)

leetcode解题之344. Reverse String & 345. Reverse Vowels of a String Java版(反转字符串)

【Leetcode】345. Reverse Vowels of a String

方法一: 思路: public class Solution { public String reverseVowels(String s) { StringBuilder s...

Leetcode #345. Reverse Vowels of a String 逆转元音字母 解题报告

1 解题思想这道题是逆转字符串的一个变种,要求的只是把元音的部分进行逆转,非元音的地方不进行逆转。所以基本的思想就是: 1、单独的扫描一次元音,得道其序列(我们可以逆序扫描,这样读出的时候直接就是逆...

LeetCode 345. Reverse Vowels of a String 解题报告

LeetCode 345. Reverse Vowels of a String 解题报告

<LeetCode OJ> 345 / 344 Reverse Vowels of a String / Reverse String

Total Accepted: 537 Total Submissions: 1488 Difficulty: Easy Write a function that takes a stri...

【leetcode】345. Reverse Vowels of a String

一、题目描述 Write a function that takes a string as input and reverse only the vowels of a string. Exa...

LeetCode 345. Reverse Vowels of a String

345. Reverse Vowels of a StringWrite a function that takes a string as input and reverse only the vo...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)