统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。
请注意,你可以假定字符串里不包括任何不可打印的字符。
示例:
输入: “Hello, my name is John”
输出: 5
class Solution {
public:
/*
当一个字符不是空格且前面的字符是空格,说明是新的单词
*/
int countSegments(string s) {
if (s.empty()) return 0;
char last = s[0];
int num = (last == ' ' ? 0 : 1);
for (int i = 1; i < s.size(); i++)
{
if (last == ' '&&s[i] != ' ')
{
num++;
}
last = s[i];
}
return num;
}
};
class Solution1 {
public:
int countSegments(string s) {
int res = 0;
for (int i = 0; i < s.length(); i++)
{
if (s[i] != ' ')
{
res++;
while (i < s.length() && s[i] != ' ')
{
i++;
}
}
}
return res;
}
};
链接:https://leetcode-cn.com/problems/number-of-segments-in-a-string