解题思路
第一步,反向找到最后一个非空格字符位置end
第二步,从第一步的地方开始,反向找到第一个空格位置begin,s[begin+1]就是最后一个单词的起始位置
第三步,返回end-begin
58. 最后一个单词的长度
代码
class Solution(object):
def lengthOfLastWord(self, s):
"""
:type s: str
:rtype: int
"""
end = rfind_nonspace(s)
begin = rfind_space(s, end)
return end-begin
def rfind_nonspace(s):
i = len(s)-1
while i >= 0 and s[i].isspace():
i -= 1
return i
def rfind_space(s, i):
while i >= 0 and not s[i].isspace():
i -= 1
return i
效果图