题目
难度:★☆☆☆☆
类型:字符串
统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。
请注意,你可以假定字符串里不包括任何不可打印的字符。
示例
输入: "Hello, my name is John"
输出: 5
解答
这道题实际上可以通过Python中字符型变量的split()方法实现单词拆分,通过len()方法统计单词数目。
class Solution:
def countSegments(self, s: str) -> int:
return len(s.split())
每一个单词的出现,伴随着一个空格的结束,我们把从空格到非空格的过程称为一次跳变,如果在原字符串前面加一个空格,那么字符串中该跳变的次数,实际上就是单词的数目。这里,我们用flag表示当前字符是否是空格,flag从True到False的就是一次跳变。
class Solution:
def countSegments(self, s: str) -> int:
num = 0 # 单词个数
flag = True # 空格标志符
for c in s: # 遍历字符串中的字符
if c != ' ' and flag: # 如果遇到不是空格的字符,且上一个字符是空格
num += 1 # 遇到了单词
flag = False # 关闭空格标志符
if c == ' ': # 如果遇到了空格
flag = True # 打开空格标志符
return num # 返回统计结果
如有疑问或建议,欢迎评论区留言~