双指针从后向前遍历,i不断递减,j如果是空字符就递减,循环满足一定的逻辑运算后就跳出。代码是经过改进的,减少行数。
public int lengthOfLastWord(String s) {
int i = s.length() - 1,j = i;
while (i-- > 0 && !(s.charAt(j) != ' ' && s.charAt(i) == ' ')) {
if(s.charAt(j) == ' ') j--;
}
return j - i;
}