LeetCode | Length of Last Word
Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last word in the string.
If the last word does not exist, return 0.
Note: A word is defined as a character sequence consists of non-space characters only.
For example, Given s = "Hello World", return 5.
//采用双指针的思想,两个指针的间隔距离就是last word的长度
public class Solution {
public int lengthOfLastWord(String s) {
if(s==null || s.length()==0){ //不存在last word
return 0;
}
int tailPointer = s.length()-1; //尾指针
while(tailPointer>=0 && s.charAt(tailPointer)==' '){ //从后向前过滤掉所有空格
tailPointer--;
}
//注意,此处是可能为-1的,但是Java采用不完全计算来求bool值的,因而下面的while中
//s.charAt(headPointer)不会出现index溢出的情况,且return (-1)-(-1)=0
int headPointer = tailPointer;
while(headPointer>=0 && s.charAt(headPointer)!=' '){ //从后向前找到第一个空格
headPointer--;
}
return (tailPointer - headPointer);
}
}

浙公网安备 33010602011771号