python 求最后一个单词的长度

给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 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

以上为抛砖引玉,若有精妙之法,还望不吝赐教。

发布了19 篇原创文章 · 获赞 83 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/weixin_43838898/article/details/89708849