问题描述
给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指由字母组成,但不包含任何空格的字符串。
示例:
输入: "Hello World"
输出: 5
解题思路
这道题很简单,所以建议大家不要使用任何的内置函数,使用内置函数会使这个题变得毫无意义。
由于求取最后一个单词的长度,所以从后往前遍历是更好的选择,但是要注意排除末尾空格的影响。
代码实现
def lengthOfLastWord(s):
# 初始化结果和字符串长度
res, slen = 0, len(s) - 1
# 删除字符串末尾的空格
while slen >= 0:
if s[slen] == ' ':
slen -= 1
else:
break
# 计数最后一个单词的长度
while slen >= 0:
if s[slen] == ' ':
return res
else:
res += 1
slen -= 1
return res
def main():
s = 'Hello World'
res = lengthOfLastWord(s)
print(res)
if __name__ == "__main__":
main()