题目:

给你一个字符串 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 中至少存在一个单词

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/length-of-last-word
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路:

一、使用split函数暴力求解

先使用split函数将字符串以空格为分割符划分成字符串数组,然后直接定位到数组最后一个字符串,再统计最后一个字符串的字母个数。

代码:

 二、反向遍历

反向遍历字符串,寻找最后一个单词并计算其长度。

  • 首先找到字符串中的最后一个字母,该字母为最后一个单词的最后一个字母;
  • 然后从最后一个字母开始反向遍历字符串,直到遇到空格或者到达字符串的起始位置。因为遍历到的每个字母都是最后一个单词中的字母,因此遍历到的字母数量即为最后一个单词的长度。

代码:

三、使用两个指针

从后往前对字符串进行遍历,使用两个指针 start 和 end 来代指最后一个单词的范围(start 最终会指向目标单词首个字符的前一个字符,end 最终会指向目标单词的最后一个字符),最终end - start 即是答案。

 代码:

 小知识:

java中length和length()的区别:

在java中String类可以定义字符串变量和字符串数组

  • length():用于求String字符串对象的长度,是求String字符串对象中字符的个数(字母的个数);
  • length:用于求String字符串数组的长度,求字符串数组中有多少个字符串(单词的个数)。

力扣58(java)-最后一个单词的长度(简单)的更多相关文章

  1. 力扣(LeetCode)58. 最后一个单词的长度

    给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度. 如果不存在最后一个单词,请返回 0 . 说明:一个单词是指由字母组成,但不包含任何空格的字符串. 示例: 输入: &quo ...

  2. Java实现 LeetCode 58 最后一个单词的长度

    58. 最后一个单词的长度 给定一个仅包含大小写字母和空格 ' ' 的字符串 s,返回其最后一个单词的长度. 如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词. 如果不存在最后一个单词, ...

  3. 力扣(LeetCode)最后一个单词的长度 个人题解

    给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度. 如果不存在最后一个单词,请返回 0 . 说明:一个单词是指由字母组成,但不包含任何空格的字符串. 示例: 输入: &quo ...

  4. LeetCode(58): 最后一个单词的长度

    Easy! 题目描述: 给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度. 如果不存在最后一个单词,请返回 0 . 说明:一个单词是指由字母组成,但不包含任何空格的字符串. ...

  5. 【LeetCode-面试算法经典-Java实现】【058-Length of Last Word (最后一个单词的长度)】

    [058-Length of Last Word (最后一个单词的长度)] [LeetCode-面试算法经典-Java实现][全部题目文件夹索引] 原题 Given a string s consis ...

  6. Leetcode——58.最后一个单词的长度

    给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度. 如果不存在最后一个单词,请返回 0 . 说明:一个单词是指由字母组成,但不包含任何空格的字符串. 示例: 输入: &quo ...

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

    最后一个单词的长度 给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度. 如果不存在最后一个单词,请返回 0 . 说明:一个单词是指由字母组成,但不包含任何空格的字符串. 示例 ...

  8. 【leetcode算法-简单】58. 最后一个单词的长度

    [题目描述] 给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度. 如果不存在最后一个单词,请返回 0 . 说明:一个单词是指由字母组成,但不包含任何空格的字符串. 示例: 输 ...

  9. lintcode:Length of Last Word 最后一个单词的长度

    题目: 最后一个单词的长度 给定一个字符串, 包含大小写字母.空格' ',请返回其最后一个单词的长度. 如果不存在最后一个单词,请返回 0 . 样例 给定 s = "Hello World& ...

  10. HW—字符串最后一个单词的长度,单词以空格隔开。

    描述 计算字符串最后一个单词的长度,单词以空格隔开. 知识点 字符串,循环 运行时间限制 0M 内存限制 0 输入 一行字符串,长度小于128. 输出 整数N,最后一个单词的长度. 样例输入 hell ...

随机推荐

  1. SQL注入详细讲解概括—宽字节注入

    SQL注入详细讲解概括-宽字节注入 1.宽字节注入原理 2.宽字节注入方法 一.宽字节注入原理 What is 宽字节? 字符大小为一个字节时为窄字节 字符大小为两个及以上的字节为宽字节 英文26个字 ...

  2. 主题 3 编辑器(Vim)

    主题 3 编辑器(Vim) 编辑器 (Vim) · the missing semester of your cs education (missing-semester-cn.github.io) ...

  3. Grails批改默认启动端口

    Grails修改默认启动端口 Grails默认启动端口号是8080,有几种修改的方式: 一.在官网文档中有介绍: grails -Dserver.port=8090 run-app -Dserver. ...

  4. 键鼠共享工具使用(软KVM)-barrier(symless开源版)

    作用:通过软件方式,实现KVM,即一套键盘鼠标可以控制多台电脑,并可以进行粘贴板共享. 1.安装 打开https://github.com/debauchee/barrier,进releases下载对 ...

  5. 汽车VR虚拟仿真技术如何加速自动驾驶的发展?

    虚拟现实和虚拟仿真将带领自动驾驶汽车从汽车研发.体验.展厅.销售等各个环节迈入全新时代.2019 年,全球增强现实和虚拟现实市场为168 亿美元,到 2023 年,该市场的未来增长预计将超过 1600 ...

  6. 记录转载:Vite多环境配置--让项目拥有更高定制化能力

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 业务背景 近些年来,随着前端工程架构发展,使得前端项目中也能拥有如后端工程的模块能力.正所谓 "能力(越)越大(来),责任(越) ...

  7. 记录-JavaScript常规加密技术

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 当今Web开发中,数据安全是一个至关重要的问题,为了确保数据的安全性,我们需要使用加密技术.JavaScript作为一种客户端编程语言,可 ...

  8. 记录--两行CSS让页面提升了近7倍渲染性能

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 对于前端人员来讲,最令人头疼的应该就是页面性能了,当用户在访问一个页面时,总是希望它能够快速呈现在眼前并且是可交互状态.如果页面加载 ...

  9. 探寻UUID的起源与奥秘:从时间戳到唯一标识

    1. UUID起源与原理 UUID(Universally Unique Identifier)是一种唯一标识符,最初由Apollo计算机公司的软件工程师Roedy Green在1987年提出.其原理 ...

  10. KingbaseES数据库分区表添加主键与索引的建议

    一.初始化测试环境 # 数据库版本信息 KingbaseES V008R006C007B0012 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 ...