字符串中的单词数(C++)

106 阅读1分钟

字符串中的单词数

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

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

示例:

输入: "Hello, my name is John"
输出: 5
解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词。
class Solution {
    // 其实是个简单题 就是需要一点 对于连续空格的判断
public:
    int countSegments(string s) {
        int res = 0;
        bool flag = true;
        for (int i = 0; i < s.size(); ++ i)
        {
            if (s[i] != ' ' && flag)
            {
                res ++;
                flag = false;
            } 
            else 
            {
            // 我对与连续空格处理的小技巧
                if (s[i] == ' ' && i < s.size() - 1 && s[i + 1] == ' ') flag = false;
                else if (s[i] == ' ' && flag == false) flag = true;
            }            
        }
        return res;
    }
};

对应我的csdn文章:(2条消息) 字符串中的单词数(C++)_极客李华的博客-CSDN博客