• Leetcode题目: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) {
            list<char> s_copy;
            list<char> s_vowels;
            int len = s.length();
            for(int i = 0;i < len;i++)
            {
                if(isVowel(s[i]))
                {
                   s_vowels.push_back(s[i]);
                   s_copy.push_back('a');
                }
                else
                {
                    s_copy.push_back(s[i]);
                }
            }
            s_vowels.reverse();
            stringstream res;
            list<char>::iterator voit = s_vowels.begin();
            for(list<char>::iterator lit = s_copy.begin(); lit != s_copy.end();lit++)
            {
                if(*lit == 'a')
                {
                    res << *voit;
                    voit++;
                }
                else
                {
                    res << *lit;
                }
            }
            return res.str();
        }
       
        bool isVowel(char c)
        {
            switch(c)
            {
                case 'a':
                case 'e':
                case 'i':
                case 'o':
                case 'u':
                case 'A':
                case 'E':
                case 'I':
                case 'O':
                case 'U':
                    return true;
                default:
                    return false;
            }
        }
    };

  • 相关阅读:
    JS学习笔记-OO疑问之对象创建
    文件系统类型:
    Swift 编程语言新手教程
    数组长度计算
    tomcat配置文件server.xml具体解释
    openGL点精灵PointSprite具体解释: 纹理映射,旋转,缩放,移动
    iOS安全攻防(三):使用Reveal分析他人app
    逍遥叹
    oracle存储过程实例
    Java爬虫
  • 原文地址:https://www.cnblogs.com/CodingGirl121/p/5425411.html
Copyright © 2020-2023  润新知