统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。
请注意,你可以假定字符串里不包括任何不可打印的字符。
由题意可知,如果空格后非空格,则可记为一个单词,对于由非空格开始的字符,需要计算该单词。(PS:我发现有一个问题是我会根据提交错误去对应修改自己的代码,而不是一开始就考虑全面,但实际测试中不会给你慢慢修改的机会,因此要练习写代码前尽量思考完善再着手编写代码),则可得到如下:
class Solution:
def countSegments(self, s: str) -> int:
num = 0
for i in range(len(s)):
if i == 0 and s[i] != ' ':# 需要判断由非空格开始的字符,则需索引到len(s)
num += 1
if i < len(s)-1 and s[i] == ' ' and s[i+1] != ' ':#因为有比较索引i+1 ,所以i的值需要小于len(s) - 1
num += 1
return num
时间复杂度O(n),空间复杂度O(1)