最后一个单词的长度
概述:给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。单词是指仅由字母组成、不包含任何空格字符的最大子字符串。
输入:s = "Hello World"
输出:5
输入:s = " fly me to the moon "
输出:4
输入:s = "luffy is still joyboy"
输出:6
方法一:逆向遍历
思路:首先找到字符串中的最后一个字母,该字母即为最后一个单词的最后一个字母。从最后一个字母开始继续反向遍历字符串,直到遇到空格或者到达字符串的起始位置。
思路很简单,直接上代码!
#逆向遍历
class Solution:
def lengthOfLastWord(self, s: str) -> int:
n = len(s)
index = n - 1
while s[index] == ' ':
index -= 1
word_len = 0
while index >= 0 and s[index] != ' ':
word_len += 1
index -= 1
return word_len
方法二:split方法
思路:用split方式剔除掉字符串中的空格 ' ',并以列表 s_list 形式存储。
思路更加简单,直接上代码!
#split方法
class Solution:
def lengthOfLastWord(self, s: str) -> int:
s_list = [i for i in s.split(' ') if i]
if not s_list:
return 0
return len(s_list[-1])
总结
人生苦短,Python延年!