leetcode-345. Reverse Vowels of a String

来源:互联网 发布:网络教育取消 编辑:程序博客网 时间:2024/04/29 04:41

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 vowel = "aAeEiIoOuU";class Solution {public:    string reverseVowels(string s) {        int prePointer = 0;        int laterPointer = s.size() - 1;        char temp;        while(prePointer < laterPointer)        {            while(prePointer < laterPointer && !isVowel(s[prePointer]))            {                prePointer++;            }            while(prePointer < laterPointer && !isVowel(s[laterPointer]))            {                laterPointer--;            }            if(prePointer >= laterPointer)            {                break;            }            //swap            temp = s[prePointer];            s[prePointer] = s[laterPointer];            s[laterPointer] = temp;            prePointer++;            laterPointer--;        }        return s;    }    bool isVowel(char inputChar)    {        int length = vowel.size();        for(int i=0;i<length;i++)        {            if(inputChar == vowel[i])            {                return true;            }        }        return false;    }};
0 0
原创粉丝点击