力扣58. 最后一个单词的长度python实现

58. 最后一个单词的长度

一、问题描述

在这里插入图片描述在这里插入图片描述

二、算法思想

1、利用列表中自带的方法解决。
(1)strip()方法去掉字符串前后的空格。
(2)split(’ ')方法以空格为分隔符,将字符串分割成由单词和空格组成的部分(因为单词之间不一定只有一个空格,所以分割后单词里面可能还有空格),存在 list1里。
(3)获取list1里最后一个元素,存在str1里面,再用strip()方法去掉其前后的空格,最后再查看str1的长度,将长度返回。

2、使用while和if语句进行逻辑判断解决。
(1)设置length等于0,a等于1,s[-a]获取字符串s中的最后一个字符。
(2)判断最后一个是否为空格,若不等于空格length加一。
(3)若等于空格,判断length是否为0,不为0说明已经把最后一个单词查完了,返回length;若为0,a = a +1,s[-a]表示倒数第a个元素,就这样从后往前查找字符的值,直到查找完最后一个单词的长度。

三、代码

class Solution(object):
    def lengthOfLastWord(self, s):
        """
        :type s: str
        :rtype: int
        """
        """
        sum1 = 0 # "   fly me   to   the moon  "
        s = s.strip() # 去掉字符串前后的空格
        list1 = s.split(' ') # 
        length = len(list1)
        str1 = list1[length-1]
        str1= str1.strip() # 单词间可能多个空格,导致分割后单词里还有空格,再去一次
        sum1 = len(str1)
        return sum1
        """
        length=0
        a=1
        while a<=len(s):
            if s[-a]!=' ':
                length+=1
            else:
                if length!=0:
                    return length
            a+=1

四、题目链接

https://leetcode.cn/problems/length-of-last-word/

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值