【LeetCode】58. 最后一个单词的长度

132 阅读1分钟

image.png

Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情

测试岗位也越来卷了,除了基本的功能测试外,还要有编程基础、脚本经验才脱颖而出。

怎么才能提高我们的编程能力呢,刷LeetCode是最佳的途径之一,话不多数,刷题走起~

一、题目描述:

  • 题目内容

    image.png

  • 题目示例

    image.png

  • 题目解析

    • 题目给出的是一个由字符和空格符组成的字符串
    • 规定每一个单词由空格符隔开
    • 要求输出最后一个单词的长度

二、思路分析:

我们拿到该题目,首先想到的是从字符串的末尾进行遍历字符串。

  • 首先定义两个变量,index来遍历字符串,res来记录单词的长度
  • 对字符串进行遍历,遇到空格符,index➕1
  • 当s[index]不是空格符时,res开始➕1
  • 判断条件是,当res 不等于0,并且s[index]为空格符,则直接返回res

image.png image.png

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记录:

image.png

时间复杂度O(n),空间复杂度O(1)

以上是本期内容,欢迎大佬们点赞评论,下期贱~~