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

Note:

The vowels does not include the letter "y".

创建map表,查找元音 aeiouAEIOU,从左到右,同时发现则交换。

class Solution {
public:
    string reverseVowels(string s) {
        char v[]={'a','e','i','o','u','A', 'E', 'I', 'O', 'U'};
        map<char,int> m;
        int left=0;
        int right=s.size()-1;
        if(s.size()<=1) return s;
        for (int i=0;i<10;i++){
            m[v[i]]++;
        }
       while(left<right){
           if(m[s[left]]==0) left++;
           if(m[s[right]]==0) right--;
           if(m[s[left]]!=0 && m[s[right]]!=0)
           {
               char tmp;
               tmp=s[left];
               s[left]=s[right];
               s[right]=tmp;
               left++;
               right--;
           }
       }
        return s;
    }
};



发布了30 篇原创文章 · 获赞 3 · 访问量 3万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览