345. Reverse Vowels of a String
Description
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”.
Note:
The vowels does not include the letter “y”.
Subscribe to see which companies asked this question.
Analysis
这道题的意思就是将给定字符串中的元音字符反转,我的做法有点暴力,先将所求字符串中的所有元音字符都找出来,放在一个字符向量中并且将该字符串中的位置放入一个标识符。之后检验字符串中哪个位置有标志符,就把元音字符反转放进这些位置中。
Code
class Solution {
public:
string reverseVowels(string s) {
vector<char> vec;
int len = s.size();
for(int i= 0 ;i <len;++i){
if(s[i]=='a'||s[i]=='e'||s[i]=='i'||s[i]=='o'||s[i]=='u'){
vec.push_back(s[i]);
s[i] = '*';
}
if(s[i]=='A'||s[i]=='E'||s[i]=='I'||s[i]=='O'||s[i]=='U'){
vec.push_back(s[i]);
s[i] = '*';
}
}
int j = vec.size()-1;
for(int i = 0 ; i < len;++i){
if(s[i] == '*'){
s[i] = vec[j];
j--;
}
}
return s;
}
};