LeetCode 1119. Remove Vowels from a String--C++,Java,Python解法

这是一个LeetCode的1119题,要求从输入的字符串中移除所有英文小写字母中的元音'a', 'e', 'i', 'o', 'u'。给出了Python、Java和C++三种语言的解法,每个解法有不同的效率表现。" 125798232,10188973,C++ WebServer基础知识:HTTP、I/O多路复用与Reactor模式,"['后端开发', '网络', '服务器', 'I/O多路复用', 'Reactor模式']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目地址:1119. Remove Vowels from a String


Given a string S, remove the vowels ‘a’, ‘e’, ‘i’, ‘o’, and ‘u’ from it, and return the new string.

Example 1:

Input: "leetcodeisacommunityforcoders"
Output: "ltcdscmmntyfrcdrs"

Example 2:

Input: "aeiou"
Output: ""

Note:

  • S consists of lowercase English letters only.
  • 1 <= S.length <= 1000

这道题目是easy难度的,题目也容易理解,做起来也快。
Python第一版解决如下:

class Solution:
    def removeVowels(self, S: str) -> str:
        return S.replace("a","").replace("e","").replace("i","").replace("o","").replace("u","")

只超过了20%的人,改进后的做法如下:

class Solution:
    def removeVowels(self, S: str) -> str:
        res=''
        a={'a','e','i','o','u'}
        for i in S:
            if i not in a:
                res+=i
        return res

现在就超过了90%的人,我想不到更快的解法了。

Java解法如下:

class Solution {
    public String removeVowels(String S) {
        return S.replaceAll("[aeiou]", "");
    }
}

C++解法如下:

class Solution {
public:
    string removeVowels(string S) {
        set<char> vowels = {'a', 'e', 'i', 'o', 'u'};
        string result = "";
        for (int i = 0; i < S.size(); i++) {
            if (vowels.find(S[i]) != vowels.end()) {
                continue;
            } else {
                result += S[i];
            }
        }
        return result;
    }
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值