題目:

解答:
class Solution {
public:
string reverseVowels(string s) {
vector<char> buf;
vector<char> vowel = { 'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U' };
for (int i = s.size() - 1; i >= 0; i--) {
if (std::find(vowel.begin(), vowel.end(), s[i]) != vowel.end()) {
buf.push_back(s[i]);
}
}
int j = 0;
for (int i = 0; i < s.size(); i++) {
if (std::find(vowel.begin(), vowel.end(), s[i]) != vowel.end()) {
s[i] = buf[j++];
}
}
return s;
}
};