解题思路

看到这个就知道很简单了,只不过很多人就仅判断当遇到空格直接清0重新计算,然而这样当字符串最后有空格的时候那就没办法输出正确的答案了,所以我们需要一个 lst_cnt 来记录对上一次的长度,结尾的时候判断一下 cnt 是否为 0,如果不为 0 直接将 lst_cnt 等于 cnt 然后返回 lst_cnt就好了。然而这样做的话还是没办法通过,如果结尾连续有多过一个空格呢?所以我们在遇到空格的时候也要判断一下 cnt 是否为 0,如果为 0 的话就不要更新 lst_cnt

代码

class Solution {
public:
    int lengthOfLastWord(string s) {
        int cnt = 0, lst_cnt = 0;
        for(int i = 0; i < s.size(); i++) {
            if(s[i] == ' ') {
                if(cnt != 0) {
                    lst_cnt = cnt;
                    cnt = 0;
                }
                continue;
            }
            cnt++;
        }
        if(cnt != 0) lst_cnt = cnt;
        return lst_cnt;
    }
};