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); } }