一开始的想法是,从左向右,遇到空格计数清零,但在写代码过程中发现,最后末尾的空格会造成结果错误,想去掉末尾的空格有点麻烦,用了Java自带的函数。看了评论区大神的思路,倒着查找就可以避免末尾空格的影响,不知道什么时候能有这样的解题大局观
class Solution {
public int lengthOfLastWord(String s) {
int len = 0;
s= s.trim();
for (int i = 0; i < s.length(); i++) {
len++;
if(s.charAt(i) == ' ') {
len = 0;
}
}
return len;
}
}
使用倒叙查找的解题代码,效率奇高
class Solution {
public int lengthOfLastWord(String s) {
int num = 0;
for (int i = s.length()-1; i >= 0; i--) {
if (s.charAt(i) != ' ') {
num++;
}
else if (num != 0) {
return num;
}
}
return num;
}
}