问题描述:
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
.
思路:
1、先考虑边界
2、求最后一个不为空格的元素位置
3、找到前一个空格
4、返回二者之差
代码:
class Solution {
public:
int lengthOfLastWord(string s) {
if(s == "") return 0;
if(s.size() == 1 && s[0] != ' ') return 1;
int n = s.size() - 1;
for(int k = n; k >= 0; --k)
if(s[k] != ' '){
n = k;
break;
}
int j = 0;
for(j = n; j >= 0; --j)
if(s[j] == ' ')
break;
return n - j;
}
};