【LeetCode每日一题】434. 字符串中的单词数 【简单】

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

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

示例:

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

题解: 自己的写法是一遍遍历,但是在原字符串中加了一个空格,不知道算不算是修改了初始数据。

public:
    int countSegments(string s) {
        s += ' ';
        int n = s.size();
        bool flag = false;
        int cnt = 0;
        for(int i = 0; i < n; i++){
            if(s[i] == ' '){
                if(!flag) continue;
                else{
                    cnt++;
                    flag = false;
                }
            }
            else{
                flag = true;
            }
        }
        return cnt;
    }
};

官方题解:

public:
    int countSegments(string s) {
        int segmentCount = 0;

        for (int i = 0; i < s.size(); i++) {
            if ((i == 0 || s[i - 1] == ' ') && s[i] != ' ') {
                segmentCount++;
            }
        }

        return segmentCount;
    }
};
全部评论

相关推荐

零OFFER战士:另一个版本查看图片
点赞 评论 收藏
分享
zYvv:双一流加大加粗再标红,然后广投。主要是获奖荣誉不够,建议开始不用追求大厂,去别的厂子刷下实习。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务