一.解题思路
思路1:用Python内置函数通过空格分割字符串为列表,然后取出最后一个元素求出长度即可。
思路2:参考了一下题解,通过双指针逆序循环找字符串的方式。
注意:需要注意的是传入字符串可能全是空格或者直接为空。
二.代码展示
# 内置函数题解
class Solution:
def lengthOfLastWord(self, s):
# 工具空格字符串分割(例如:hello world => ['hello','world])
s_list = s.split()
# 列表长度
s_list_len = len(s_list)
# 排除空列表
if s_list_len == 0:
return 0
# 返回列表最后一个元素的长度
return len(s_list[s_list_len-1])
# 逆序双指针题解
class Solution:
def lengthOfLastWord2(self, s):
# 去除末尾空格
s = s.rstrip()
# 记录指逆序针位置(end不用动,因为已经去除了空格)
start = end = len(s) - 1
# 字符串从右到左判断,直到字符串为空格或到头了就退出
while start >= 0 and s[start] != ' ':
start -= 1
# 字符串长度就是末尾减去start指针的位置
return end - start
三.总结其他
总结:这题比较简单,没有涉及到难以理解的东西在里面,算是正规的简答题了。
优化:总感觉还有别的办法能做出来,但是就没思路,后续如果有想法了,再来升级一下。
交流:如果有什么建议或者疑问可以在文章下面回复哈,期待交流。