每日一题&&学习笔记

统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。

请注意,你可以假定字符串里不包括任何不可打印的字符。

示例:

复制代码
输入: "Hello, my name is John"
输出: 5
解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词。

可以用istringstream对字符进行分割

cpp 复制代码
class Solution {
public:
    int countSegments(string s) {
        //使用输入字符串流来解析输入的字符串
        istringstream stream(s);
        //定义一个字符串变量word,用于存储从流中提取的每个单词
        string word;
        //定义一个计数器变量,用于统计单词的个数
        int count=0;
        //使用while循环和提取运算符(>>)从流中提取单词
        //当流中还有可以提取的单词时,循环继续
        while(stream>>word){
            //每次成功提取一个单词,计数器自增
            count++;
        }
        //循环结束后,返回计数器的值,即单词的总数
        return count;
    }
};

还有另一个直接的思路,就是去遍历字符串,判断若每个单词的前一个字符为空格,而当前字符串不为空格,则存在一个单词,计数器加1

cpp 复制代码
class Solution {
public:
    int countSegments(string s) {
        //定义一个计数器变量,用于统计单词的个数
        int count=0;

        for(int i=0;i<s.size();i++){
            if((i==0||s[i-1]==' ')&&s[i]!=' '){
                count++;
            }
        }
        //循环结束后,返回计数器的值,即单词的总数
        return count;
    }
};
相关推荐
通信小呆呆3 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
H__Rick3 天前
自动对焦学习-3
人工智能·学习·计算机视觉
Daisy Lee3 天前
量化学习-第1章-什么是量化金融
学习·金融·datawhale
Alsn863 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
YM52e3 天前
买菜计算器小应用 - HarmonyOS ArkUI 开发实战-PC版本
学习·华为·harmonyos·鸿蒙·鸿蒙系统
小雨下雨的雨3 天前
HarmonyOS ArkUI训练营入门-组件掌握系列-Animation 动画效果实现-PC版本
学习·华为·harmonyos·鸿蒙
闪闪发亮的小星星3 天前
高斯光以及高斯光公式解释
笔记
cqbzcsq3 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
YangYang9YangYan3 天前
2026初入职场学习数据分析的价值
学习·数据挖掘·数据分析
阿米亚波3 天前
【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统 + 离线软件源
linux·windows·经验分享·笔记·架构·arm