图解 | LeetCode #58 最后一个单词的长度

源码共读

共 837字,需浏览 2分钟

 ·

2021-09-18 07:14

👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇

作者丨微木

来源丨编程狂想曲


你好,我是微木。
今天分享的内容是LeetCode中58.最后一个单词的长度 简单 这个题目。
题目描述:

给你一个字符串 s,由若干单词组成,单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0 。

单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。

示例:

输入:s = "Hello World"
输出:
5

思路分析
由于字符串是由若干个单词组成,且彼此之间用空格隔开。那么,可以将空格作为分隔符,来将原字符串拆分为字符串数组。
然后,从后往前遍历该数组,如果当前考察的字符串是""则继续,直到当前考察的字符串不是"",则表示找到了最后一个单词,返回其长度即可。如果,遍历结束之后没有返回,则说明不存在最后一个字符,因此返回0。

代码实现:


另外一个思路是:

首先,将给定字符串的首尾空格去掉。

然后,从最后一个字符开始遍历,在遍历过程中,如果当前考察的字符是空格' ',则表示找到了最后一个单词。此时,返回s.length-1-end,即使最后一个单词的长度。其中end表示从后往前第一个空格' '的位置。

如果整个遍历结束之后,还没有返回,则表示给定的字符串只包含一个单词或一个单词都没有。此时,直接返回s.length即可。

代码实现:

-End-

最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!

点击👆卡片,关注后回复【面试题】即可获取

在看点这里好文分享给更多人↓↓

浏览 17
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报