Q:
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
A:
以“Hello[space]World[space][space]”為例:
第一個while先判斷出了這里有兩個空格怪得,length of str縮減了兩個,現(xiàn)在對s.charAt(index)
來說已經(jīng)指向了字母“d”,判斷 s.charAt(len-1) != ' '
救斑,累加lastLength腻扇,然后length of str繼續(xù)縮減屑墨,直到指向了第一個[space]夹纫,第二個while也結(jié)束了减俏,返回lastLength結(jié)果蝌戒。
public int lengthOfLastWord(String s) {
int len=s.length(), lastLength=0;
while(len > 0 && s.charAt(len-1)==' '){ //處理字符串結(jié)尾還有空格的情況
len--;
}
while(len > 0 && s.charAt(len-1)!=' '){
lastLength++;
len--;
}
return lastLength;
}
```
----
>**java.lang.String.charAt() **方法返回指定索引處的char值串塑。索引范圍是從0到length() - 1。
聲明: `public char charAt (int index)`
此方法返回這個字符串的指定索引處的char值北苟。第一個char值的索引為0.
**IndexOutOfBoundsException** -- 如果index參數(shù)為負(fù)或不小于該字符串的長度.