当前位置:网站首页>LeetCode刷题第11天字符串系列之《 58最后一个单词长度》
LeetCode刷题第11天字符串系列之《 58最后一个单词长度》
2022-08-11 03:42:00 【小机double】
LeetCode 58最后一个单词长度
题目描述
给定一个仅包含大小写字母和空格 ’ ’ 的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指仅由字母组成、不包含任何空格字符的 最大子字符串。
示例
输入: “Hello World”
输出: 5
题目解析
按照题目的意思,反正就是找到最后一个有字母的单词的长度(当然拼写正不正确不是我们管的)。那么从后往前开始遍历,统计字符的个数,遇到空格的时候返回统计的长度即可。但是题目给的字符串可能在最后面会给出多个空格,例如:“hello world ”。此时只需将首尾的空格去掉即可。去掉方法有以下两种:
- 使用java字符串中的trim方法去掉首尾空格
- 不用显示去掉,直接在统计的时候跳过最后面的空格,遇到第一个不是空格的字符时开始计算。
下面是两种实现方式:
对于java,C++,python等这类语言的话,都有对于字符串的切片操作,即split。下面就是直接使用split函数,将输入的字符串根据空格切分成字符串数组,返回该数组最后一个字符串的长度即可。
public int lengthOfLastWord(String s) { String[] split = s.split(" "); if (split.length == 0) { //s都是空格的话切分之后的数组为空 return 0; } return split[split.length - 1].length(); }程序执行结果:

上面那种使用split的方法虽然简单直接,但是并没有那么快,直接从后面往前面统计的方法就要快很多,代码如下:
public int lengthOfLastWord(String s) { int count = 0; //s = s.trim(); //提前将首尾的空格去除掉 for (int i = s.length() - 1; i >= 0; i--) { if (s.charAt(i) == ' ' && count == 0) { //直接跳过末尾的空格,没有用trim方法的话可以这么实现 continue; } if (s.charAt(i) == ' ') { //跳过最末尾的所有空格后如果之后还出现空格则证明最后一个单词的长度已经统计完毕 break; } count++; } return count; }

边栏推荐
- STC8H开发(十五): GPIO驱动Ci24R1无线模块
- FTP错误代码列表
- A simple JVM tuning, learn to write it on your resume
- 大马驮2石粮食,中马驮1石粮食,两头小马驮一石粮食,要用100匹马,驮100石粮食,如何分配?
- MySQL数据库存储引擎以及数据库的创建、修改与删除
- 【愚公系列】2022年08月 Go教学课程 035-接口和继承和转换与空接口
- 常用认证机制
- Description of ESB product development steps under cloud platform
- MYSQLg高级------聚簇索引和非聚簇索引
- 荣威imax8ev魔方电池安全感,背后隐藏着哪些黑化膨胀?
猜你喜欢

Qnet弱网测试工具操作指南

rac备库双节点查询到的表最后更新时间不一致

机器学习中什么是集成学习?

高校就业管理系统设计与实现

A large horse carries 2 stone of grain, a middle horse carries 1 stone of grain, and two ponies carry one stone of grain. It takes 100 horses to carry 100 stone of grain. How to distribute it?

STC8H开发(十五): GPIO驱动Ci24R1无线模块

互换性与测量技术——表面粗糙度选取和标注方法

【FPGA】day22-SPI协议回环

没想到MySQL还会问这些...

电力机柜数据监测RTU
随机推荐
互换性与测量技术-公差原则与选用方法
CTO说MySQL单表行数不要超过2000w,为啥?
console.log alternatives you didn't know about
构建程序化交易系统需要注意什么问题?
元素的BFC属性
A simple JVM tuning, learn to write it on your resume
Interchangeability and Measurement Technology—Surface Roughness Selection and Marking Method
Is there any way for kingbaseES to not read the system view under sys_catalog by default?
The most unlucky and the luckiest
Echart地图的省级,以及所有地市级下载与使用
输入起始位置,终止位置截取链表
MYSQLg advanced ------ return table
多商户商城系统功能拆解26讲-平台端分销设置
LeetCode Hot Questions (12. The Best Time to Buy and Sell Stocks)
【ADI低功耗2k代码】基于ADuCM4050的ADXL363、TMP75的加速度、温度检测及串口打印、蜂鸣器播放音乐(孤勇者)
VIT 源码详解
Basic understanding of MongoDB (2)
[FPGA] day19- binary to decimal (BCD code)
MYSQLg高级------回表
“顶梁柱”滑坡、新增长极难担重任,阿里“蹲下”是为了跳更高?