5027. 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:

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

算法:

class Solution {
public:
    string removeVowels(string S) {
        string st = "";
        for(int i=0; i<S.length(); i++)
        {
            if(S[i] != 'a' && S[i]!='e'&& S[i]!='o'&& S[i]!='i'&& S[i]!='u')
                st += S[i];
        }
        return st;
    }
};

 

这是一个使用C++17的结构化绑定和自动类型推导(auto关键字)的lambda表达式示例。这个lambda表达式被用来判断一个字符是否是元音字母。 让我们分解一下这个表达式: 1. `auto isVowel =`:这部分定义了一个名为`isVowel`的变量,其类型是自动推导的,用于存储后面的lambda表达式。 2. `[vowels = "aeiouAEIOU"s]`:这是一个捕获列表,定义了一个名为`vowels`的字符串字面量,并且使用了`s`后缀表示它是`std::string`类型,而不是C风格的字符串。这个`vowels`变量在lambda表达式中被用来保存所有的元音字母。 3. `(char ch)`:这是lambda表达式的参数列表,表示这个lambda表达式接受一个`char`类型的参数`ch`。 4. `return vowels.find(ch) != string::npos;`:这是lambda表达式的函数体。它调用了`vowels`字符串的`find`成员函数,该函数查找参数`ch`在字符串`vowels`中的位置。如果找到了,`find`函数会返回一个非`string::npos`的值,表示位置的索引;如果没有找到,`find`函数会返回`string::npos`。因此,这个表达式返回一个布尔值,如果`ch`是元音字母则为`true`,否则为`false`。 函数用法示例: ```cpp auto isVowel = [vowels = "aeiouAEIOU"s](char ch) { return vowels.find(ch) != string::npos; }; char testChar = 'e'; if (isVowel(testChar)) { std::cout << "The character '" << testChar << "' is a vowel." << std::endl; } else { std::cout << "The character '" << testChar << "' is not a vowel." << std::endl; } ``` 在这个示例中,我们创建了一个`isVowel`的lambda表达式,然后用它来判断字符`'e'`是否是元音字母,并输出结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值