Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情。
测试岗位也越来卷了,除了基本的功能测试外,还要有编程基础、脚本经验才脱颖而出。
怎么才能提高我们的编程能力呢,刷LeetCode是最佳的途径之一,话不多数,刷题走起~
一、题目描述:
-
题目内容
-
题目示例
-
题目解析
- 题目给出的是一个由字符和空格符组成的字符串
- 规定每一个单词由空格符隔开
- 要求输出最后一个单词的长度
二、思路分析:
我们拿到该题目,首先想到的是从字符串的末尾进行遍历字符串。
- 首先定义两个变量,index来遍历字符串,res来记录单词的长度
- 对字符串进行遍历,遇到空格符,index➕1
- 当s[index]不是空格符时,res开始➕1
- 判断条件是,当res 不等于0,并且s[index]为空格符,则直接返回res
class Solution(object):
def lengthOfLastWord(self, s):
"""
:type s: str
:rtype: int
"""
index = len(s)-1
res = 0
while index >= 0:
if s[index] != " ":
res = res+1
if res !=0 and s[index] == " ":
return res
index = index-1
return res
三、总结:
本题使用是逆向的遍历字符串的方法。以空格符为判断单词的依据,当遍历再次遇到空字符且res不为零则就是我们的最后一个单词的长度。
我们提交代码,AC记录:
时间复杂度O(n),空间复杂度O(1)
以上是本期内容,欢迎大佬们点赞评论,下期贱~~