【LeetCode】345. 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".

 应该算不上有难度。

class Solution {
public:
    string reverseVowels(string s) {
        string str = s;
        for (int i = 0, j = str.size() - 1; i < j; )
        {
            if (isVowel(str[i]) && isVowel(str[j])) {
                char tmp = str[i];
                str[i] = str[j];
                str[j] = tmp;
                i++;
                j--;
            }
            if ( !isVowel(str[i]))++i;
            if ( !isVowel(str[j])) --j;
        }
        return str;
    }

    bool isVowel(char c) {
        if (c == 'a' || c == 'e' || c == 'i' || c == 'u' || c == 'o' \
        || c == 'A' || c == 'E' || c == 'I' || c == 'U' || c == 'O') return true;
        return false;
    }
};

 

posted on 2016-09-12 23:02  医生工程师  阅读(108)  评论(0编辑  收藏  举报

导航