互联网行业的小白,写博客的目的是为了记录自己的学习过程、对自己学习中所犯的错误做一个总结。由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!
题目描述
题目传送门:最后一个单词的长度
给定一个仅包含大小写字母和空格' '
的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指仅由字母组成、不包含任何空格字符的最大子字符串。
示例:
输入: "Hello World"
输出: 5
题解
易错点
-
判断字符串是否为空字符串:
""
,这种情况单词长度为0 -
判断字符串是否全部由形如
" "
的空格组成的,这种情况单词长度也为0 -
注意形如
"a "
这种情况的字符串,最后一个空格是不算在单词长度内的
思路
先对空字符串
和元素全是空格的字符串
进行判断,用一个flag
作为标记,再将字符串按' '
进行切片处理,将切片后的“单词”长度添加到一个临时列表中,反向遍历列表,第一个不为0的元素即为最后一个单词的长度。
AC代码
class Solution:
def lengthOfLastWord(self, s: str) -> int:
flag = True # 标记是否为空字符串或元素全是空格的字符串
for i in s:
if i != ' ':
flag = False
if flag:
return 0
lst = s.split(' ')
ans = []
for i in lst:
ans.append(len(i)) # 将切片后的得到的单词长度添加到ans中
ans.reverse() # 末尾寻找“单词”
for i in ans:
if i == 0:
continue
return i
分割解法 |
- Python
strip()
方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
**注意:**该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
- Python
split()
通过指定分隔符对字符串进行切片。
AC代码:
class Solution:
def lengthOfLastWord(self, s: str) -> int:
s = s.strip().split(' ')
return len(s[-1])
码字不易,您的
支持
就是我坚持
下去的动力,一起加油哦。