Problem
Write a function that takes a string as input and reverse only the vowels of a string.
Note:
The vowels does not include the letter "y".
Example
Input: "hello"
Output: "holle"
Input: "leetcode"
Output: "leotcede"
Code
static int var = [](){
std::ios::sync_with_stdio(false);
cin.tie(NULL);
return 0;
}();
class Solution {
public:
string reverseVowels(string s) {
char temp = 0;
for(int i=0,j=s.size()-1;i<j;){
if(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'){
if(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'){
temp = s[i];
s[i] = s[j];
s[j] = temp;
i++;
j--;
}else{
j--;
}
}else{
i++;
}
}
return s;
}
};
Result

网友评论