Reverse Vowels 发表于 2017-05-28 | 分类于 算法 Reverse Vowels题目描述: 逆序给定字符串中的元音字母 例子: 具体描述看LeetCode345 解题思路: 我们利用vector保存下字符串中是元音的字符的对应位置。然后对字符串中的这些字符进行逆序即可。 代码如下:123456789101112131415161718class Solution {public: string reverseVowels(string s) { set<char> hash = {'a','e','i','o','u','A','E','I','O','U'}; //记录元音字符集合 vector<int> vec = {}; //保存下元音字符的位置 for (int i = 0; i < s.size(); i++){ if (hash.find(s[i]) != hash.end()){ vec.push_back(i); } } for (int j = 0; j < vec.size() / 2; j++){ swap(s[vec[j]], s[vec[vec.size() - j - 1]]); } return s; }};