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
.
解题思路:
从后往前遍历,用一个指针rightIndex表示第一次出现飞空格的位置,然后继续遍历,找出第一次出现空格的位置即可,JAVA实现如下:
static public int lengthOfLastWord(String s) { int rightIndex=s.length()-1; while(rightIndex>=0&&s.charAt(rightIndex)==' ') rightIndex--; if(rightIndex<0) return 0; for(int i=rightIndex-1;i>=0;i--) if(s.charAt(i)==' ') return rightIndex-i; return rightIndex+1; }