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

相关推荐
程序员-Benothing3 小时前
Linux文本排序统计命令:sort、uniq、wc、cut、tr实战
java·开发语言·算法
开发者联盟league3 小时前
c++11 使用chrono库转换时间点和字符串,计算时间点间隔
java·c++·算法
老歌老听老掉牙4 小时前
两个平面旋转平移坐标系间的坐标变换关系
python·算法·平面·旋转·平移
W.A委员会4 小时前
PID与PID整定
python·算法
蜕变的土豆4 小时前
工业监控RTSP取流-实践指南
c++·视频
进化中的刀盾兽4 小时前
从零实现 C++ Json-Rpc(八):补齐 detail.hpp——JSON 封装与请求 ID 生成
c++·rpc
冷雨夜中漫步4 小时前
YOLO快速入门——(2)YOLO V26安装与快速入门
图像处理·算法·yolo·计算机视觉
longlongzihan4 小时前
LeetCode 41. 缺失的第一个正数:从基础解法到原地哈希
c++·算法·leetcode
Omics Pro4 小时前
强生:以机理为中心!虚拟细胞世界模型
数据库·人工智能·python·深度学习·算法·机器学习·自然语言处理
FPGA信号处理4 小时前
【凸优化】第一节课(下):保凸运算、分离超平面与 Farkas 引理
人工智能·算法·机器学习