这道题是个简单题。然而我每仔细看题WA了一次。这道题问的是最后一个单词,我写成最长单词了。具体解法就是遇见空格就说明上个词结束了,tmp就要归零,不过此处要注意如果最后一个字符是空格,tmp输出就会是0。为了解决这个问题,使用了变量tmp1记录在空格之前的单词的长度,如果最后tmp为0,就直接输出tmp1的值即可。还有一点要注意,在连着有很多空格的时候,tmp1只能在第一次遇到空格的时候被赋值,不然后面会被赋值为0。
class Solution:
def lengthOfLastWord(self, s: str) -> int:
if s == "":
return 0
tmp1 = 0
tmp = 0
for c in s:
if c == " ":
if tmp != 0:
tmp1 = tmp
tmp = 0
else:
tmp += 1
if tmp == 0:
tmp = tmp1
return tmp