class Solution:
def countSegments(self, s: str) -> int:
n = len(s)
# 如果字符串长度为1且不是空格,则只有一个段
if n == 1 and s[0] != ' ':
return 1
# 如果字符串长度为1且是空格,则没有段
if n == 1 and s[0] == ' ':
return 0
slow_ptr = 0 # 开始指针
fast_slow = 1 # 结束指针
count = 0 # 段计数
while fast_slow <= n - 1:
# 如果开始指针指向非空格字符,且结束指针指向空格字符,表示找到一个段
if s[slow_ptr] != ' ' and s[fast_slow] == ' ':
count += 1
# 如果结束指针指向最后一个字符且为非空格字符,则表示还有一个段
elif fast_slow == n - 1 and s[fast_slow] != ' ':
return count + 1
fast_slow += 1
slow_ptr += 1
return count