LeetCode刷题之路:58. 最后一个单词的长度

如果帮助到您,还请点个关注吧,hahaha

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

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

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

示例:

输入: “Hello World”
输出: 5

#最直观的思路
字符串的末尾只有两种情况。
一种是末尾就是一个单词,
另一种是末尾是空格符号。
对于第一种情况我们可以直接计算最后一个单词的长度,(倒序遍历,直至遇到空格则停止)
对于第二种情况我们需要先将末尾的空格全部去掉之后才可以计算当次的长度
代码如下,比较好理解

class Solution:
    def lengthOfLastWord(self, s: str) -> int:
        max_len = 0
        i = len(s) -1
        while s[i] == ' ' and i >= 0:
            i -= 1
        while i >= 0:
            if s[i] != ' ':
                max_len += 1
                i -= 1
            else:
                break
        return max_len

#超简洁的方法
需要用到字符串中的 strip和split
Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。

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

语法
strip()方法语法:
str.strip([chars]);
参数
chars – 移除字符串头尾指定的字符序列。
返回值
返回移除字符串头尾指定的字符生成的新字符串。

Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
语法
split() 方法语法:
str.split(str="", num=string.count(str)).
参数
str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num – 分割次数。默认为 -1, 即分隔所有。
返回值
返回分割后的字符串列表。

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

猜你喜欢

转载自blog.csdn.net/as812252319/article/details/111986512
今日推荐