首页 > 其他分享 >闯关leetcode——58. Length of Last Word

闯关leetcode——58. Length of Last Word

时间:2024-09-20 17:21:37浏览次数:3  
标签:word cur last preIsSpace length 空格 Length Word 58

大纲

题目

地址

https://leetcode.com/problems/length-of-last-word/description/

内容

Given a string s consisting of words and spaces, return the length of the last word in the string.

A word is a maximal substring consisting of non-space characters only.

Example 1:

Input: s = “Hello World”
Output: 5
Explanation: The last word is “World” with length 5.

Example 2:

Input: s = " fly me to the moon "
Output: 4
Explanation: The last word is “moon” with length 4.

Example 3:

Input: s = “luffy is still joyboy”
Output: 6
Explanation: The last word is “joyboy” with length 6.

Constraints:

  • 1 <= s.length <= 104
  • s consists of only English letters and spaces ’ '.
  • There will be at least one word in s.

解题

这题就是要找到一个字符串中最后一段非空格的连续字符长度。我们只要定义好这样的子串特点即可:以空格后的第一个字符开始,以空格前的最后一个字符结束。向后遍历,找到最后一个符合这个特点的子串。需要注意的是两个边界:我们可以假设原始字符串前有一个空格,原始字符串后有一个空格,这可以保证我们逻辑的一致性。

#include <string>
using namespace std;

class Solution {
public:
    int lengthOfLastWord(string s) {
        bool preIsSpace = true; // if the previous character is space
        int cur = 0;
        int lastWordStart = 0;
        int lastWordEnd = 0;
        for (char c : s) {
            if (c == ' ') {
                if (!preIsSpace) {
                    lastWordEnd = cur;
                }
                preIsSpace = true;
            } else {
                if (preIsSpace) {
                    lastWordStart = cur;
                }
                preIsSpace = false;
            }
            cur++;
        }
        if (!preIsSpace) {
            lastWordEnd = cur;
        }
        return lastWordEnd - lastWordStart;
    }
};

在这里插入图片描述

代码地址

https://github.com/f304646673/leetcode/tree/main/58-Length-of-Last-Word

标签:word,cur,last,preIsSpace,length,空格,Length,Word,58
From: https://blog.csdn.net/breaksoftware/article/details/142084816

相关文章

  • WordPress中最佳播客插件:入门级指南
    近年来,播客在全球范围内迅速普及,成为人们获取信息和娱乐的重要途径。对于想在WordPress网站上添加播客功能的用户来说,选择合适的插件非常重要。本文将为大家介绍几款适合用户入门级WordPress播客插件,让你轻松实现播客功能。1.PodcastPlayer简介PodcastPlayer是一款简单易用的插......
  • 基于RK3588,AI边缘模块,单片6TOPS,可集群堆叠,Mixtile Blade 3
    MixtileBlade3 是一款经济实惠、节能的SBC,围绕下一代8纳米瑞芯微RK3588处理器构建。它非常适合快速开发、AI应用程序原型设计和边缘计算,允许您集群多个MixtileBlade3SBC以扩展您的部署。硬件布局正反面开箱即用的MixtileBlade3是一款可堆叠计算机,带有板载......
  • 158.337 Queries (SQL/LINQ), Triggers
    158.337GroupProjectInstructions:PartB(Coursemark- 17.5%)Youwillcontinuetoworkingroups*forthisassignment.Youdonotneedto registeragain but in case you change your group membership please let us know via emailing Indu (i......
  • 国产linux系统(银河麒麟,统信uos)使用 PageOffice 国产版实现前端框架内置对话框在Word中
    PageOffice国产版:支持信创系统,支持银河麒麟V10和统信UOS,支持X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)、龙芯(LoogArch)芯片架构。本示例关键代码的编写位置Vue+Springboot注意本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如文档路径,用户名等做......
  • 【无人机吊运】基于matlab线性二次调节LQR控制多架无人机吊运(有效载荷)【含Matlab源码
    ......
  • 在WordPress中最佳Elementor主题推荐:专家级指南
    对于已经在WordPress和Elementor上有丰富经验的用户来说,选择功能强大且高度灵活的主题,能大大提升网站的表现和定制能力。今天,我们来介绍六款适合用户的专家级Elementor主题:Sydney、Blocksy、RifeFree、Customify、Deep和Layers。这些主题不仅功能丰富,还在设计和定制方面提供了极大......
  • Word文档(栈)
    Word文档(栈)#include<stdio.h>#include<string.h>#defineMAX_OPS10000//定义最大操作数#defineMAX_STR_LEN31//定义最大字符串长度//栈相关操作inttopA=-1;//栈A的栈顶指针,初始化为-1表示空栈inttopB=-1;......
  • 如何快速搭建一个wordpress个人网站?
    WordPress是全球最流行的开源的博客和内容管理网站的建站平台,具备使用简单、功能强大、灵活可扩展的特点,提供丰富的主题插件。腾讯云轻量应用服务器提供WordPress应用镜像,您可以使用它快速搭建博客、企业官网、电商、论坛等各类网站。说明本文档示例WordPress应用镜像底层基于......
  • 京东云轻量云主机快速搭建WordPress个人网站教程!
    WordPress是使用最广泛的博客和内容管理系统,支持丰富的插件和模板,功能强大,易于扩充功能。您可以使用它快速搭建独立的博客、论坛等网站,也可以做CMS使用。创建轻量云主机访问轻量云主机创建实例页选择WordPress镜像,以及套餐版本、时长等内容,进行下单创建轻量云主机实例查看应用详情......
  • 富文本编辑器CKEDITOR支持从WORD复制粘贴保留格式和图片的插件
    编辑器:ckeditor前端:vue2,vue3.vue-cli后端:asp,jsp,php,asp.net,.netcore功能:复制粘贴word内容图片该说不说最近这个需求挻火的,今天早上又有网友加我QQ,实际上之前QQ号码就已经在网上公开了,但是还是有很多网友找不到,这个说实话就真没办法了,除了公布QQ号码以外我还公开了微信号码......