58. 最后一个单词的长度(Python)

更多精彩内容,请关注【力扣简单题】。

题目

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

给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。

如果不存在最后一个单词,请返回 0 。

说明:一个单词是指由字母组成,但不包含任何空格的字符串。

示例

输入: "Hello World"
输出: 5

解答

本题相当于实现:

result = len(s.strip().split(' ')[-1])

不过这里,我们采用另一种方式:逆序统计。

class Solution:
    def lengthOfLastWord(self, s: str) -> int:
        count, is_str = 0, False        # 字母数量统计,是否遇到了单词
        for c in list(reversed(s)):     # 逆序遍历
            if c == ' ':                # 如果遇到空格,要判断是末尾空格还是单词和单词之间的空格
                if is_str:              # 如果是单词与单词之间的空格
                    break               # 本单词统计结束,跳出循环
                continue                # 忽略末尾空格,遍历下一个字符
            else:                       # 不是空格,则统计字母个数
                is_str = True           # 设置当前已经遇到了单词
                count += 1              # 字母数+1
        return count                    # 返回数量

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

你可能感兴趣的:(58. 最后一个单词的长度(Python))