给定一个字符串,包含大小写字母和空格。返回字符串中最后一个单词的长度。
如果最后一个单词不存在,返回0。
备注:
一个单词定义为不包含空格的字符序列。
示例:
Input: "Hello World"
Output: 5
思路
从后向前,寻找到第一个出现的非空格。
然后继续向前,寻找到第一个出现的空格。
两者之间的单词即为最后一个单词。
比如输入 “Hello World”,从后向前,第一个出现的非空格为 ‘d’,然后继续向前,第一个出现的空格为 ‘W’ 左边的空格。
那么两者之间的 ‘World’ 即为最后一个单词。
注意:
1、考虑都是空格的情况,这时候单词长度为0
2、考虑都是非空格的情况,这时候单词长度为整体长度。
python实现
def lengthOfLastWord(s):
"""
:type s: str
:rtype: int
"""
for i in range(len(s)-1, -1, -1):
if s[i] != ' ':
break
else: # 都是空格
return 0
for j in range(i, -1, -1):
if s[j] == ' ':
break
else: # i之前都是字母
return i+1
return i-j
if '__main__' == __name__:
s = "Hello World"
print(lengthOfLastWord(s))