给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指由字母组成,但不包含任何空格的字符串。
示例:
输入: "Hello World"
输出: 5
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/length-of-last-word
我的解法 python
class Solution:
def lengthOfLastWord(self, s: str) -> int:
s = s.rstrip(' ').lstrip(' ')
if len(s) == 1:
return len(s)
else:
list1 = s.split(' ')
return (len(list1[-1]))
此处要说明一下trip()函数,不是在原序列上做修改,例如我最初使用 s.rstrip(' ').lstrip(' ')并没有返回值,就不能ac,因为虽然 s.rstrip(' ').lstrip(' ')去除了左右的空格但是不是在原序列s上修改的,但是后面我调用的还是s,会报错。
还有一个网友贡献了更高效的:
class Solution:
def lengthOfLastWord(self, s: str) -> int:
s = s.rstrip()
if not s:
return 0
for i,c in enumerate(s[::-1]):
if c == ' ':
return i
return len(s)