图解 | LeetCode #58 最后一个单词的长度
作者丨微木
来源丨编程狂想曲
给你一个字符串 s,由若干单词组成,单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0 。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
示例:
输入:s = "Hello World"
输出:5思路分析 由于字符串是由若干个单词组成,且彼此之间用空格隔开。那么,可以将空格作为分隔符,来将原字符串拆分为字符串数组。 然后,从后往前遍历该数组,如果当前考察的字符串是""则继续,直到当前考察的字符串不是"",则表示找到了最后一个单词,返回其长度即可。如果,遍历结束之后没有返回,则说明不存在最后一个字符,因此返回0。 代码实现:
另外一个思路是:
首先,将给定字符串的首尾空格去掉。
然后,从最后一个字符开始遍历,在遍历过程中,如果当前考察的字符是空格' ',则表示找到了最后一个单词。此时,返回s.length-1-end,即使最后一个单词的长度。其中end表示从后往前第一个空格' '的位置。
如果整个遍历结束之后,还没有返回,则表示给定的字符串只包含一个单词或一个单词都没有。此时,直接返回s.length即可。
代码实现:
-End-
最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!
面试题
】即可获取评论