434. 字符串中的单词数(Python)

题目

难度:★☆☆☆☆
类型:字符串

统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。

请注意,你可以假定字符串里不包括任何不可打印的字符。

示例

输入: "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                  # 返回统计结果

如有疑问或建议,欢迎评论区留言~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。