给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
示例 1:
输入:s = “Hello World” 输出:5
解释:最后一个单词是“World”,长度为5。
示例 2:输入:s = " fly me to the moon " 输出:4
解释:最后一个单词是“moon”,长度为4。
示例 3:输入:s = “luffy is still joyboy” 输出:6
解释:最后一个单词是长度为6的“joyboy”。提示:
1 <= s.length <= 104
s 仅有英文字母和空格 ’ ’ 组成
s 中至少存在一个单词
来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/length-of-last-word
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
个人版本
class Solution(object):
def lengthOfLastWord(self, s):
"""
:type s: str
:rtype: int
"""
lst = s.split(' ') # 字符串通过空格分割成列表
for i in range(len(lst)):
if lst[-(i+1)]: # 判断最后一个元素是否为空
return len(lst[-(i+1)]) # 非空 返回最后一个单词长度
s = " fly me to the moon "
print(Solution().lengthOfLastWord(s))
LeetCode示例代码
class Solution(object):
def lengthOfLastWord(self, s):
"""
:type s: str
:rtype: int
"""
# a = 0
# li = []
# for i in s:
# if i != " ":
# a += 1
# else:
# if a == 0:
# continue
# else:
# li.append(a)
# a = 0
# if a == 0:
# return li[-1]
# else:
# li.append(a)
# return li[-1]
i = 0
num = 0
str = s[::-1]
while i<len(str):
if str[i] != ' ':
num+=1
if num>0 and str[i] == ' ':#应对开始就为空格的情况
break
i+=1
return num