【434简单】字符串中的单词数(2021.10.7)
1. 问题描述
统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。
请注意,你可以假定字符串里不包括任何不可打印的字符。
示例:
输入: "Hello, my name is John"
输出: 5
解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词。
2. 思路
在字符串末尾添加一个空格,只有当前一个字符不为空格且当前字符为空格的时候,单词数+1。
3. 代码
class Solution {
public:
int countSegments(string s) {
s = s + " ";
int count = 0;
bool flag = false;
for(int i = 0; i < s.size(); i++) {
if(s[i] == ' ' && flag == true) {
flag = false;
count++;
}
if(s[i] != ' ') {
flag = true;
}
}
return count;
}
};
4. 复杂度
时间复杂度:O(n),n表示字符串的长度。