LeetCode 58. 最后一个单词的长度 【Length of Last Word】

       互联网行业的小白,写博客的目的是为了记录自己的学习过程、对自己学习中所犯的错误做一个总结。由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!

python题解

题目描述

题目传送门:最后一个单词的长度

给定一个仅包含大小写字母和空格' ' 的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。

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

说明:一个单词是指仅由字母组成、不包含任何空格字符的最大子字符串

示例:

输入: "Hello World"
输出: 5

题解

易错点

  • 判断字符串是否为空字符串:"",这种情况单词长度为0

  • 判断字符串是否全部由形如" "的空格组成的,这种情况单词长度也为0

  • 注意形如"a "这种情况的字符串,最后一个空格是不算在单词长度内的

思路

先对空字符串元素全是空格的字符串进行判断,用一个flag作为标记,再将字符串按' '进行切片处理,将切片后的“单词”长度添加到一个临时列表中,反向遍历列表,第一个不为0的元素即为最后一个单词的长度。

AC代码

class Solution:
    def lengthOfLastWord(self, s: str) -> int:
        flag = True  # 标记是否为空字符串或元素全是空格的字符串
        for i in s:
            if i != ' ':
                flag = False
        if flag:
            return 0
        lst = s.split(' ')
        ans = []
        for i in lst:
            ans.append(len(i))  # 将切片后的得到的单词长度添加到ans中
        ans.reverse()  # 末尾寻找“单词”
        for i in ans:
            if i == 0:
                continue
            return i
分割解法
  • Python strip()方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。

**注意:**该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

  • Python split()通过指定分隔符对字符串进行切片。

AC代码:

class Solution:
    def lengthOfLastWord(self, s: str) -> int:
        s = s.strip().split(' ')
        return len(s[-1])

在这里插入图片描述

码字不易,您的支持就是我坚持下去的动力,一起加油哦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值