题目
给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指由字母组成,但不包含任何空格的字符串。
示例:
输入: “Hello World”
输出: 5
解答
既然是最后一个单词,不妨从末尾开始往前找。单词必然介于两堆空格之间,用标志位加以区分即可。
class Solution {
public:
int lengthOfLastWord(string s) {
bool isWord = false;
int len = 0;
for (int i = s.size() - 1; i >= 0; i--) {
if (s[i] != ' ') {
isWord = true;
++len;
}
else if (isWord && s[i] == ' ')
return len;
}
return len;
}
};