【题目】
统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。
请注意,你可以假定字符串里不包括任何不可打印的字符。
示例:
输入: "Hello, my name is John"
输出: 5
【思路】
最直接的想法:切割字符串,统计词的个数。
不让使用已有方法要怎么办?
设置变量flag标记是否为连续非空格字符,当遇到空格,则改为false;遇到非空格且flag==false,计数加1,flag改为true。
【代码】
python版本
class Solution(object):
def countSegments(self, s):
"""
:type s: str
:rtype: int
"""
# return len(s.split())
count =
flag = False
for i in range(len(s)):
if s[i] == ' ':
flag = False
elif flag == False:
flag = True
count +=
return count
C++版本
class Solution {
public:
int countSegments(string s) {
bool flag = false;
int count = ;
for(int i=; i<s.size(); i++){
if(s[i] == ' ')
flag = false;
else{
// 空格后第一个字符
if(flag == false){
flag = true;
count++;
}
}
}
return count;
}
};