给你一个字符串 s
,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
输入:s = "Hello World"
输出:5
解释:最后一个单词是“World”,长度为5。
方法一:
class Solution {
public int lengthOfLastWord(String s) {
int index = s.length() - 1;
// 从字符串末尾开始,跳过末尾的空格
while (s.charAt(index) == ' ') {
index--;
}
int wordLength = 0;
// 从后往前计算最后一个单词的长度
while (index >= 0 && s.charAt(index) != ' ') {
wordLength++;
index--;
}
return wordLength;
}
}
方法二:
首先使用 s.trim()
去除字符串 s
两端的空格,并将结果重新赋值给 s
变量。然后,通过 s.lastIndexOf(" ")
获取字符串 s
中最后一个空格的索引位置,并将返回的索引位置与 s.length()
相减,并再减去 1,以计算最后一个单词的长度。
class Solution {
public int lengthOfLastWord(String s) {
s = s.trim();
return s.length() - s.lastIndexOf(" ") - 1;
}
}