class Solution {private:set<char> vowels = {'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'};public:string reverseVowels(string s) {int p1 = 0, p2 = s.length() - 1;while (p1 < p2) {while (p1 < p2 && vowels.count(s[p1]) == 0) {++p1;}while (p1 < p2 && vowels.count(s[p2]) == 0) {--p2;}if (p1 < p2)swap(s[p1], s[p2]);++p1;--p2;}return s;}};
