[LeetCode345] Reverse Vowels of a String

题目:

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".

分类:String Two Pointers

代码:

class Solution {
public:
    string reverseVowels(string s) {
        
        int left = 0, right = s.size()-1;
        while(left < right)
        {
            while(!isVowels(s[left]))
                ++left;
            while(!isVowels(s[right]))
                --right;
            if(left < right)
            {
                char temp = s[left];
                s[left] = s[right];
                s[right] = temp;
            }
            ++left;
            --right;
        }
        return s;
    }
    
    bool isVowels(char c)
    {
        return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u'
        || c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U';
    }
};

 

posted @ 2016-08-09 23:05  zhangbaochong  阅读(158)  评论(0)    收藏  举报