leetcode345
2016-06-01 13:49
435 查看
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”.*
自己是这样写的:
在Discuss上看到一个想法很好的:
*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 179 Largest Number
- leetcode 24 Swap Nodes in Pairs
- leetcode 2 Add Two Numbers 方法1
- leetcode 2 Add Two Numbers 方法2
- leetcode----Longest Substring Without Repeating Characters
- [LeetCode]47 Permutations II
- [LeetCode]65 Valid Number
- [LeetCode]123 Best Time to Buy and Sell Stock III
- [LeetCode] String Reorder Distance Apart
- [LeetCode] Sliding Window Maximum
- [LeetCode] Find the k-th Smallest Element in the Union of Two Sorted Arrays
- [LeetCode] Determine If Two Rectangles Overlap
- [LeetCode] A Distance Maximizing Problem
- leetcode_linearList
- leetcode_linearList02
- 021-Merge Two Sorted Lists(合并两个排好序的单链表);leetcode
- LeetCode[Day 1] Two Sum 题解
- LeetCode[Day 2] Median of Two Sorted Arrays 题解
- LeetCode[Day 3] Longest Substring Without... 题解
- LeetCode [Day 4] Add Two Numbers 题解