LeetCode - Reverse Vowels of a String
2016-04-23 23:33
435 查看
Question
Link : https://leetcode.com/problems/reverse-vowels-of-a-string/Write a function that takes a string as input and reverse only the vowels of a string.
Example 1:
Given s = “hello”, return “hole”.
Example 2:
Given s = “leetcode”, return “leotcede”.
Code
这个问题可以看做是上一个反转字符串的升级版—— LeetCode - Reverse String,我们可以利用那个里面第三种实现方法,加以改进判断一下是不是元音字母再交换位置即可。 (C++ : 12ms)class Solution { public: string reverseVowels(string s) { int start = 0, end = s.size() - 1; while(true){ while(!isVowel(s[start]) && start < s.size()) start++; while(!isVowel(s[end]) && end >= 0) end--; if(start < end) swap(s[start++], s[end--]); else break; } return s; } bool isVowel(char ch){ return ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u' || ch == 'A' || ch == 'E' || ch == 'I' || ch == 'O' || ch == 'U'; } };
相关文章推荐
- 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 题解