题意
一个只有大小写字母和空格’ '组成字符串,求返回最后一个单词的长度
分析
1.使用指针从后向前扫描,过滤掉字符串后面的空格。如果过滤完空格就扫描完了,那么这字符串都是由空格组成的
2.如果不全是空格,那么接下来扫描的就是最后一个单词了,把单词扫描到有空格或者超出索引范围
代码
c++
class Solution {
public:
int lengthOfLastWord(string s) {
//从最后的下标往前面遍历
int end = s.size() - 1;
while (end >= 0 && s[end] == ' ') end--;
//如果整个字符串都是由空格组成的,直接返回0
if (end < 0) return 0;
//接下来遍历非空格字符,也就是最后一个单词
int start = end;
while (start >= 0 && s[start] != ' ') start--;
return end - start;
}
};