题目链接:力扣
解题思路:简单题,没什么好说的
方法一:直接调用String类的split分割函数,以单个空格字符进行分割,则分割后生成数组的最后一个元素的长度即所求
AC代码
class Solution {
public int lengthOfLastWord(String s) {
String[] s1 = s.split(" ");
return s1[s1.length-1].length();
}
}
方法二:
因为只需要获取最后一个单词的长度,所以只需要从后往前遍历字符串,跳过末尾的空格字符,直到遇到第一个非空格字符开始计数,再次遇到空格时停止计数
AC代码:
class Solution {
public static int lengthOfLastWord(String s) {
int result = 0;
boolean flag = true;
for (int i = s.length() - 1; i >= 0; i--) {
if (s.charAt(i) == ' ' && flag) {
//跳过末尾的空格
continue;
} else if (s.charAt(i) == ' ' && !flag) {
break;
}
//开始计数
result++;
flag = false;
}
return result;
}
}