题目
给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
示例
示例1
输入: s = “Hello World”
输出: 5
示例2
输入: s = " fly me to the moon "
输出: 4
示例3
输入: s = “luffy is still joyboy”
输出: 6
关键思路
逆序遍历字符串即可。
我们设置了一个 pre 常量用于存储上个字符,当上个字符不为空格,而当前字符为空格时,就说明倒数第一个单词被遍历完,可以直接返回最后一个单词的长度。
代码实现
class Solution(object):
def lengthOfLastWord(self, s):
"""
:type s: str
:rtype: int
"""
pre = " "
c = 0
for i in range(len(s)-1,-1,-1):
if s[i]==" " and pre!=" ":
return c
if s[i]!=" ":
c = c + 1
pre = s[i]
return c
运行结果
5
4
6
总结反思
距离工作还有两年,在这之前要把自己的代码能力提升上来。