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
.
分析:基础题,对于字符串的处理,需要思路清晰再写代码。也可以只遍历一边,思路还是“去空格,计算长度”
class Solution {
public:
int lengthOfLastWord(const char *s) {
//空判断
if(s[0] == '\0') return 0;
//指针到末尾 " "、"a a" 、 “a ”
const char *end = s;
while(*end != '\0') {
end++;
}
end--;
//过滤空格
while(*end == ' ') {
if(end < s) return 0;
end--;
}
//计算长度
const char *start = end;
while(*start != ' ') {
if(start < s) return end - s + 1;
start--;
}
start++;
//返回结果
return end - start + 1;
}
};