大家好,今天我们要聊的是LeetCode上的第58题:“最后一个单词的长度”。这道题目听起来很简单,但其中却有很多值得探讨的小细节。就像在一场马拉松中,你不仅要找到终点,还要准确测量你跑过的距离。话不多说,让我们开始这次的解题之旅吧!
题目描述
给定一个仅包含大小写字母和空格 ' '
的字符串 s
,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。
注意:单词是指仅由字母组成、不包含任何空格字符的最大子字符串。
示例:
输入: "Hello World"
输出: 5
输入: " fly me to the moon "
输出: 4
输入: "luffy is still joyboy"
输出: 6
解题思路
这道题的核心是找到字符串中最后一个单词,并返回其长度。我们可以通过以下步骤来实现:
- 去除末尾空格:首先,我们需要去掉字符串末尾的所有空格,因为它们对最后一个单词的长度没有任何贡献。
- 找到最后一个单词的起点和终点:从字符串的末尾开始向前遍历,找到最后一个单词的起点和终点。
- 计算单词长度:最后,计算最后一个单词的长度。