给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
说明:
一个单词是指由字母组成,但不包含任何空格的字符串。
示例:
输入: "Hello World"
输出: 5
方法一:
用内置函数耍无赖,由于是从右往左遍历,去掉右边空格即可,切成列表求最后一个元素长度即可。
def lengthOfLastWord(s):
return len(s.rstrip().split(' ')[-1])
方法二:
判断最后一位是否为空格,保持切割,完成后从右往左找到第一个空格的指数即可。
def lengthOfLastWord(s):
while s.endswith(' '):
s = s[:-1]
return len(s) - s.rfind(' ') -1
方法三:
从右往左遍历,空格则跳过,找到第一个非空格元素后开始计数,直至下一个空格或者首位元素出现。
def lengthOfLastWord(s):
j = 0
if s:
i = len(s) -1
while i >= 0:
if not s[i] == ' ':
j += 1
elif j:
return j
i -= 1
return j
以上为抛砖引玉,若有精妙之法,还望不吝赐教。