统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。
请注意,你可以假定字符串里不包括任何不可打印的字符。
示例:
输入: "Hello, my name is John" 输出: 5 解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词。
思路:遍历字符串,以空格为分隔,判断每个单词,注意对连续空格的甄别,如果遇到一个空格先判断在此之前是否有字符出现而不是连续的空格,是则单词数+1;最后还要注意不要忽略最后一个单词,最后一个单词后面可能是没有空格的,所以要特殊处理一下。
代码(Python):
class Solution(object):
def countSegments(self, s):
result = [] #保存结果
t = '' #保存每一个单词
for i,word in enumerate(s):
if word != ' ': #非空格,把字符记录
t += word
else: #遇到了空格
if len(t) > 0: #如果在此之前已经有单词了,单词放入result
result.append(t)
t = ''
if t!='': #判断最后一个单词
result.append(t)
return len(result)