当前位置 博文首页 > qq_43609226的博客:LeetCode刷题———最后一个单词的长度

    qq_43609226的博客:LeetCode刷题———最后一个单词的长度

    作者:[db:作者] 时间:2021-08-24 13:32

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

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

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

    示例:

    输入: “Hello World”
    输出: 5
    错误的代码:

    class Solution:
        def lengthOfLastWord(self, s: str) -> int:
            if s == '':
                return 0
            else:
                list = s.split()
                i = ' '
                if i in list:
                    list.remove('')
                    return list
                return len(list[-1])
            
    

    执行结果:
    在这里插入图片描述
    正确的代码:

    class Solution:
        def lengthOfLastWord(self, s: str) -> int:
            list = s.split()
            if list:
                return len(list[-1])
            else:
                return 0
            
    

    思路分析:
    正确的代码中最关键的一句代码是 “ if list:”,因为这样写就不会出现错误代码中的指标溢出的情况。而且使用rsplit()对字符串进行分割更好,因为它是从右开始分割的。举个例子说明split()和rsplit()的区别:
    在这里插入图片描述

    cs