原题链接在这里:https://leetcode.com/problems/length-of-last-word/
从最后一个字符开始数,最后一个字符是 ' ', 就一直向前移动指针直到出现第一个字符。
开始计数,然后继续扫面直到出现下一个 ' ', 返回计数结果即可。
Note: 1. while loop加 i--, 这里已经犯过很多次类似的错误了。
2. 在使用s.charAt(i)时 一定要先确保 i>=0, 否则就会有out of index的错误。
AC Java:
public class Solution {
public int lengthOfLastWord(String s) {
if(s == null || s.length() == 0){
return 0;
}
int res = 0;
int i = s.length()-1;
while(i>=0 && s.charAt(i) == ' '){ //error
i--;
}
while(i>=0){
if(s.charAt(i) != ' '){
res++;
}else{
break;
}
i--; //error
}
return res;
}
}