统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。
请注意,你可以假定字符串里不包括任何不可打印的字符。
示例:
输入: “Hello, my name is John”
输出: 5
class Solution(object):
def countSegments(self, s):
"""
:type s: str
:rtype: int
"""
# 遍历字符串
# 注意 这里的非空——不是空格,也就是说!=' ',而不是 not None
count = 0
# flag用来记录当前字符的前一个字符是否为空格,初始状态肯定为True
flag = True
for i in s:
# 如果当前字符不是空格,并且前一个字符为空格,count+1,然后更新flag为False
if i != ' ' and flag:
count+=1
flag = False
# 如果当前字符是空格就更新flag为True,在判断下个字符状态的时候会用到
if i == ' ':
flag = True
return count
解法二:利用字符串的split方法,按照空格分割,并返回长度
class Solution(object):
def countSegments(self, s):
"""
:type s: str
:rtype: int
"""
return len(s.split())