力扣 434. 字符串中的单词数

it2025-02-14  5

434. 字符串中的单词数

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

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

示例:

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

本来自己没看参考前的思路是:统计本身是空格但前一个不是空格的,然后结束用‘\0‘判断

但这会引发一系列的问题(比如几个比较特殊的字符 “”,“        ”,“a”都会导致出错,最终参考了以下结果)

//原理:统计前一个是空格但本身不是空格的情况 int countSegments(char * s){ int num = 0,i,len =strlen(s); //此处关于长度的条件可用’\0‘替代 for (i = 0; i < len; i++) { if ( (i == 0 || s[i-1] == ' ' )&& s[i] != ' '){ //注意此处s[0]的情况且优先级 num++; } } return num; }

 

最新回复(0)