string课后练习

前言:

又是十天没有更新我的博客了,今天来整理一道string的题目,最近的强度和做题量都有所下降,真是美妙的寒假呀,来吧让我们看这道题目。

题目:点这里

代码:

cpp 复制代码
class Solution {
public:
    vector<int> findWordsContaining(vector<string>& words, char x) {
        vector<int> ret;
        for(int i=0;i<words.size();i++){
            if(words[i].find(x)!=string::npos){
                cout<<words[i].find(x)<<endl;
                ret.push_back(i);
            }
        }
        return ret;
    }
};

这段代码就是利用for循环和if判断配合find关键字,判断数组中每一个字符串是否包含目标字符,若包含,将索引填充入ret数组中。

这里要讲的是这个语句:

cpp 复制代码
if(words[i].find(x)!=string::npos)

这里就要讲到find关键字的返回值,类型是size_t,是一种无符号整数,永远大于等于0,当find找到目标字符的时候,就会返回对应的下标索引,但如果找不到目标字符呢,就会返回-1,但是这里返回的-1是无符号类型,所以是一个极大正数,所以这里如何判断有没有找到对应字符呢,就要利用这个语句。

相关推荐
Zane19941 分钟前
比较排序跑不出O(nlogn)是数学上证明过的,计数、桶、基数排序凭什么能绕开这堵墙
算法·排序算法
tiger8652 分钟前
大语言模型面试和题解,梳理中国主流开源 LLM 系列的发展脉络、技术路线与工程取舍
人工智能·gpt·深度学习·算法·自然语言处理·面试·transformer
Methy6 分钟前
IoTHub半个月崩了五次?都是裸rethrow惹的祸
服务器·c++·后端
我不会起名字32215 分钟前
一天一道力扣Hot100(36):深度优先算法---组合总和
数据结构·c++·后端·python·算法·go
纪念 22919 分钟前
c++类和对象(四)
开发语言·c++
汉克老师31 分钟前
GESP2026年9月认证C++六级( 第三部分编程题(2、分树规划))精讲
c++·gesp·小学生·学c++编程
学生小羊37 分钟前
C++ 初阶 学习博客
c语言·c++·c++与c语言的区别·c++基础学习
虚无的纽扣42 分钟前
【力扣刷题】第三天:有效三角形的个数、快乐数
算法·排序算法
tiger8651 小时前
大语言模型面试和题解,Context Engineering 怎么做?长 Prompt、动态上下文与 Memory 管理
人工智能·深度学习·算法·语言模型·自然语言处理·面试·nlp
辛苦才能1 小时前
C++多态原理:虚函数表的内存布局与动态绑定的汇编真相
开发语言·c++