原题:
Write a function that takes a string as input and reverse only the vowels of a string.
Example 1:
Input: "hello" Output: "holle"Example 2:
Input: "leetcode" Output: "leotcede"Note:
The vowels does not include the letter "y".
只翻转元音字母(???这题有病),结果:
Success
Runtime: 4 ms, faster than 99.92% of C++ online submissions for Reverse Vowels of a String.
Memory Usage: 9.9 MB, less than 76.01% of C++ online submissions for Reverse Vowels of a String.
代码:
class Solution {
public:
string reverseVowels(string s) {
int i=0,j=s.size()-1;
while(j>i){
while(s[i]!='a'&&s[i]!='e'&&s[i]!='i'&&s[i]!='o'&&s[i]!='u'&&s[i]!='A'&&s[i]!='E'&&s[i]!='I'&&s[i]!='O'&&s[i]!='U'&&i<j){
i++;
}
while(s[j]!='a'&&s[j]!='e'&&s[j]!='i'&&s[j]!='o'&&s[j]!='u'&&s[j]!='A'&&s[j]!='E'&&s[j]!='I'&&s[j]!='O'&&s[j]!='U'&&i<j){
j--;
}
if(j<=i){break;}
swap(s[i++],s[j--]);
}
return s;
}
};
二话不说点踩