题目
给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指由字母组成,但不包含任何空格的字符串。
示例:
输入: “Hello World”
输出: 5
解答
很简单的一道题,注意倒着找就好了。
具体如下:
- 从后面倒着找到最后一个不是空格的位置 gt 。
- 然后从这个位置开始,找到第一个为空格或者超界的位置 lt 。
- 二者之差( gt - lt )就是最后一个单词的长度。
代码
class Solution {
public int lengthOfLastWord(String s) {
int gt = s.length() - 1;
while(gt >= 0) {
if(s.charAt(gt) != ' ') break;
gt --;
}
int lt = gt;
while(lt >= 0) {
if(s.charAt(lt) == ' ') break;
lt --;
}
return gt - lt;
}
}