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是无符号类型,所以是一个极大正数,所以这里如何判断有没有找到对应字符呢,就要利用这个语句。

相关推荐
lixinnnn.15 分钟前
多源BFS:刺杀大使
算法·宽度优先
AI成长日志40 分钟前
【笔面试算法学习专栏】堆与优先队列实战:力扣hot100之215.数组中的第K个最大元素、347.前K个高频元素
学习·算法·leetcode
6Hzlia41 分钟前
【Hot 100 刷题计划】 LeetCode 45. 跳跃游戏 II | C++ 贪心算法最优解题解
c++·leetcode·游戏
北顾笙9801 小时前
day18-数据结构力扣
数据结构·算法·leetcode
阿Y加油吧1 小时前
LeetCode 中等难度 | 回溯法进阶题解:单词搜索 & 分割回文串
算法·leetcode·职场和发展
森G1 小时前
48、柱状图---------QChart
c++·qt
QH_ShareHub1 小时前
反正态分布算法
算法
Tanecious.1 小时前
蓝桥杯备赛:Day8-小苯的异或和
c++·蓝桥杯
王老师青少年编程1 小时前
csp信奥赛c++中的递归和递推研究
c++·算法·递归·递推·csp·信奥赛
Bczheng11 小时前
五.serialize.h中的CDataStream类
算法·哈希算法