给定一个仅包含大小写字母和空格 ' ' 的字符串 s,返回其最后一个单词的长度。
如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指仅由字母组成、不包含任何空格的 最大子字符串。
示例:
输入: "Hello World"
输出: 5
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/length-of-last-word
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路一:利用python的split进行字符串的切割,然后反向遍历,并进行判空,找到一个非空的即返回其长度,没找到则返回0,即完成了。
python代码:
class Solution:
def lengthOfLastWord(self, s: str) -> int:
slist = s.split(' ')
lenght = len(slist)
for i in range(lenght-1, -1, -1):
st = slist[i]
# print(st)
if st == '':
continue
else:
return len(st)
return 0
简洁写法:先去首位空格:
class Solution:
def lengthOfLastWord(self, s: str) -> int:
s = s.strip(' ').split(' ')
return len(s[-1]) if len(s) > 0 else 0
思路二:先去除字符串两头的空字符,再从后往前一直统计非空字符的长度,遇到空串退出。
class Solution:
def lengthOfLastWord(self, s: str) -> int:
ee = 0
s = s.strip(' ')
for i in range(len(s) - 1, -1, -1): # 反向遍历
if s[i] == ' ':
break
ee += 1
return ee