题目描述:
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
.
解题思路:
先定位到字符串从后往前数第一个不为空字符的位置,然后进行判断。
从第一个位置向后读取,每遇到空字符则将计数器清零,然后下次继续计数。
代码如下:
public class Solution {
public int lengthOfLastWord(String s) {
int curLen = 0, len = 0, end = -1; if(s == null || (len = s.length()) == 0)
return 0;
for(int i = len - 1; i >= 0; i--){
if(s.charAt(i) != ' ') {
end = i;
break;
}
} for(int i = 0; i <= end; i++){
if(s.charAt(i) != ' ')
curLen++;
else {
curLen = 0;
}
}
return curLen;
}
}