题目
思路
先去掉尾部空格,然后直接从后往前数,遇到第一个空格结束即可
代码
class Solution(object):
def lengthOfLastWord(self, s):
"""
:type s: str
:rtype: int
"""
s = s.strip() ## 去掉首尾空格
fast = len(s)-1 ## 从数列最后一个开始遍历
sum = 0
while fast >= 0 and ord(s[fast]) != 32: ## 设置循环结束条件
sum += 1
fast -= 1
return sum
一开始做这个题的时候理解错题意了 写了一个最长序列的代码,还是双指针的方法
class Solution(object):
def lengthOfLastWord(self, s):
"""
:type s: str
:rtype: int
"""
s = s.strip()
fast = 0
slow = 0
m = 0
flag = 0
for fast in range(len(s)):
if ord(s[fast]) != 32 and flag ==0:
slow = fast
flag = 1
if ord(s[fast]) == 32 and flag == 1:
m = max(fast-slow,m)
flag = 0
if fast == len(s)-1:
m = max(fast+1-slow,m)
return m