LeetCode题解(python)
58. 最后一个单词的长度
题目描述
给定一个仅包含大小写字母和空格 ' '
的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
**说明:**一个单词是指由字母组成,但不包含任何空格的字符串。
示例:
输入: "Hello World"
输出: 5
解题心得
本题较为简单,迷惑点在于字符串的最后一位或者几位是不是空格,怎么处理。
处理方法是:倒着遍历,先把空格跳过,再找到单词进行计数即可。
时间复杂度: O ( n ) O(n) O(n),其中n为字符串长度
解题代码
class Solution:
def lengthOfLastWord(self, s: str) -> int:
temp = []
j = len(s)-1
for i in range(len(s)-1,-1,-1):
if s[i]==' ':
j=j-1
else:
break
if j<0:
return 0
for i in range(j,-1,-1):
if (s[i]>='a' and s[i]<='z') or (s[i]>='A' and s[i]<='Z'):
temp.append(s[i])
else:
return len(temp)
return len(temp)