最后一个单词的长度[简单]

优质博文:IT-BLOG-CN

一、题目

给你一个字符串s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个单词的长度。单词是指仅由字母组成、不包含任何空格字符的最大子字符串。

示例 1:
输入:s = Hello World 输出:5 解释:最后一个单词是World,长度为5`。

示例 2:
输入:s = " fly me to the moon "
输出:4
解释:最后一个单词是moon,长度为4

示例 3:
输入:s = "luffy is still joyboy"
输出:6
解释:最后一个单词是长度为6的joyboy

1 <= s.length <= 104
s仅有英文字母和空格’ '组成
s中至少存在一个单词

二、代码

反向遍历: 题目要求得到字符串中最后一个单词的长度,可以反向遍历字符串,寻找最后一个单词并计算其长度。由于字符串中至少存在一个单词,因此字符串中一定有字母。首先找到字符串中的最后一个字母,该字母即为最后一个单词的最后一个字母。从最后一个字母开始继续反向遍历字符串,直到遇到空格或者到达字符串的起始位置。遍历到的每个字母都是最后一个单词中的字母,因此遍历到的字母数量即为最后一个单词的长度。

class Solution {public int lengthOfLastWord(String s) {if (s == null || s.length() == 0){return 0;}int index = s.length() - 1;int len = 0;while (index >= 0 && s.charAt(index) == ' ') {index--;}while (index >= 0 && s.charAt(index) != ' ') {len++;index--;}return len;}
}

时间复杂度: O(n),其中n是字符串的长度。最多需要反向遍历字符串一次。
空间复杂度: O(1)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/120332.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UI自动化测试是什么?什么项目适合做UI自动化测试

UI 测试是一种测试类型&#xff0c;也称为用户界面测试&#xff0c;通过该测试&#xff0c;我们检查应用程序的界面是否工作正常或是否存在任何妨碍用户行为且不符合书面规格的 BUG。了解用户将如何在用户和网站之间进行交互以执行 UI 测试至关重要&#xff0c;通过执行 UI 测试…

Flink Hive Catalog操作案例

在此对Flink读写Hive表操作进行逐步记录&#xff0c;需要指出的是&#xff0c;其中操作Hive分区表和非分区表的DDL有所不同&#xff0c;以下分别记录。 基础环境 Hive-3.1.3 Flink-1.17.1 基本操作与准备 1、上传依赖jar包到flink/lib目录下 cp flink-sql-connector-hive-…

【成功实现】CentOS磁盘扩容

对服务器磁盘扩容操作步骤 查看磁盘信息 fdisk -l 创建新分区 fdisk /dev/sda P n p … t 回车 8e w 重启虚拟机 reboot mkfs.ext4 /dev/sda4 查看磁盘信息 fdisk -l 创建物理卷 pvcreate /dev/sda4 y 创建卷组 并绑定物理卷 vgcreate centos /dev/sda4 创建逻辑…

golang小技巧

1/有时需要把json内容返回给前段进行文本编辑json字段&#xff0c;那么最好是能返回格式化后的json&#xff0c;这样对于用户编辑页方便。这时候可以利用json.MarshalIndent(data, "", "\t")来进行格式化&#xff0c;带有缩进的marshal。 2/对holders的填…

如何使用SpringBoot处理全局异常

如何使用SpringBoot处理全局异常 使用ControllerAdvice 和 ExceptionHandler处理全局异常 参考&#xff1a; ControllerAdvice ResponseBody Slf4j public class ExceptionHandler {ResponseStatus(HttpStatus.OK)org.springframework.web.bind.annotation.ExceptionHandler…

基于springboot实现校友社交平台管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现校友社交平台管理系统演示 摘要 校友社交系统提供给用户一个校友社交信息管理的网站&#xff0c;最新的校友社交信息让用户及时了解校友社交动向,完成校友社交的同时,还能通过论坛中心进行互动更方便。本系统采用了B/S体系的结构&#xff0c;使用了java技…

Linux下的文件操作和文件管理

文章目录 应用编程文件操作文件描述符open函数write函数read函数close函数lseek函数文件操作例子 文件管理文件基本知识文件类型文件共享空洞文件错误处理退出程序原子操作fcntl和ioctl截断文件stat函数软链接和硬链接 应用编程 系统调用(system call)是Linux内核提供给应用层…

【ARM Coresight 系列文章 15.2 – components power domain 详细介绍】

【ARM Coresight SoC-400/SoC-600 专栏导读】 文章目录 1.1. Coresight 电源域模型1.1.1 CDBGPWRUPREQ 和 CDBGPWRUPACK1.1.2 CSYSPWRUPREQ 和 CSYSPWRUPACK1.1.3 Power Domain ID In RomTable1.1.4 Power domain entries1.1.5 Algorithm to discover power domain IDs1.1.6 De…

便利连锁:如何增加收益?教你一招轻松搞定!

自动售货机&#xff0c;作为零售行业的一项颠覆性技术&#xff0c;正逐渐改变着我们的购物方式和商业格局。这一创新技术不仅重新定义了零售业务模式&#xff0c;还为企业提供了更多的机会来满足不断演变的消费者需求。 客户案例 便利连锁店 成都某便利连锁店面临一系列挑战&am…

[Pytorch] 保存模型与加载模型

1、保存模型 # 定义模型 model BPNetModel(n_featuren_feature,n_hiddenn_hidden,n_outputn_output) #调用网络# 保存模型 torch.save(model, BPNetModel0.pth) 2、加载模型 import torch## 读取模型 model torch.load(BPNetModel0.pth) 3、保存模型参数 #调用网络 mode…

ASP.NET Core3.1 API 创建(Swagger配置、数据库连接Sql Server)、开发、部署

文章目录 创建项目点击Nuget安装包删除原有controllers编辑新建controll、添加注释Startup 注册Swagger服务使用swagger中间件配置XML注释更改启动端口 launchsettings.json在startup.cs跨域处理运行 数据库设计与连接安装库新建类继承框架根据数据库表设计对应设计类在DataCon…

【QT】其他常用控件2

新建项目 lineEdit 什么都不显示&#xff08;linux password&#xff09; password textEdit和plainTextEdit spinBox和doubleSpinBox timeEdit、dateEdit、dateTimeEdit label 显示图案&#xff0c;导入资源&#xff1a;【QT】资源文件导入_复制其他项目中的文件到qt项目中_St…

jmeter界面压测过程卡死解决思路

1、排查压测机的资源是否充足&#xff1b; 2、检查jmeter压测脚本&#xff0c;除聚合报告的所有组件关闭&#xff1b; 我在压测过程中出现频繁卡死&#xff0c;就是查看结果数和断言结果信息量过多导致&#xff1a; 3、直接用非gui界面形式&#xff0c;也就是脚本形式压测。

【路径规划】A*算法 Java实现

A*&#xff08;A-Star&#xff09;算法是一种广泛使用的寻路算法&#xff0c;尤其在计算机科学和人工智能领域。 算法思想 通过评估函数来引导搜索过程&#xff0c;从而找到从起始点到目标点的最短路径。评估函数通常包括两部分&#xff1a;一部分是已经走过的实际距离&#x…

springcloud gateway转发后getServerName被更改的问题

该问题起源于一次将代码移植到微服务产生。当使用springcloud gateway更换掉nginx网关后&#xff0c;出现无法登录的情况&#xff0c;跟进发现转发的信息里丢失了Host MimeHeaders accept */* knife4j-gateway-code ROOT content-type application/x-www-form-urlencoded …

Linux docker 安装 部署

docker 安装 linux系统离线安装docker 如何使用docker部署c/c程序 常用命令 给予 docker 访问 gui 的权限 在 /etc/profile 末尾添加 if [ "$DISPLAY" ! "" ] thenxhost fi在执行 更新 source /etc/profiledocker下载镜像 docker search gcc #搜索d…

uniapp实现微信授权(前后端)

在使用UniApp开发微信小程序时&#xff0c;实现微信授权登录是一个常见的需求。本文将介绍如何在UniApp中实现微信授权登录&#xff0c;并涵盖前后端的实现步骤。 1. 后端配置 首先&#xff0c;我们需要在后端进行相关配置和处理。 在微信公众平台申请开发者账号&#xff0c;…

C#的DataGridView数据控件(直接访问SQL vs 通过EF实体模型访问SQL)

目录 一、在DataGridView控件中显示数据 1.直接编程访问SQL &#xff08;1&#xff09;源码 &#xff08;2&#xff09;生成效果 2.通过EF实体模型访问SQL &#xff08;1&#xff09;源码 &#xff08;2&#xff09;生成效果 二、获取DataGridView控件中的当前单元格 …

文献阅读(207)FPGA HBM

题目&#xff1a;HBM Connect: High-Performance HLS Interconnect for FPGA HBM时间&#xff1a;2021会议&#xff1a;FPGA研究机构&#xff1a;UCLA Jason Cong 题目&#xff1a;Demystifying the Memory System of Modern Datacenter FPGAs for Software Programmers throug…

1.AUTOSAR的架构及方法论

在15、16年之前,AUTOSAR这个东西其实是被国内很多大的OEM或者供应商所排斥的。为什么?最主要的原因还是以前采用手写底层代码+应用层模型生成代码的方式进行开发。每个供应商或者OEM都有自己的软件规范或者技术壁垒,现在提个AUTOSAR想搞统一,用一个规范来收割汽车软件供应链…