沉寂了许久,才明白了一个道理:永远不要意气用事,永远不要一意孤行。
题目描述
给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指由字母组成,但不包含任何空格的字符串。
示例:
输入: "Hello World"
输出: 5
我的解法
首先将字符串反序,然后遍历,在第一个空格处停止。注意原字符串末尾为0的特殊情况。
class Solution:
def lengthOfLastWord(self, s):
sums=0
s=s[::-1]
for i in s:
if i != ' ':
sums=sums+1
elif sums != 0:
break
return sums
最优解法
调用字符串内置函数,使用s.strip移除字符串首尾的0,使用s.rfind找到‘ ’最后一次出现的位置,即可计算。
class Solution:
def lengthOfLastWord(self, s):
"""
:type s: str
:rtype: int
"""
s = s.strip(' ')
# return len(s.split(' ')[-1])
return len(s) - 1 - s.rfind(' ')
网友评论