leetcode第一刷_Length of Last Word

不是非常明确出题人的意图,事实上这道题用java的话简直是太简单了,用split处理一下,得到全部单词的一个数组,然后求最后一个的长度即可了。我个人认为java里最成功的函数就是split了,我做project时差点儿总能用到它,方便强大。

c++里面略微复杂一些,只是这也算是最简单的字符串的问题了。函数的接口决定了字符串的长度是未知的,要自己循环找一下,然后从尾向头找不等于空格的字符,找到了就找到了最后一个单词,然后累计直到空格结束。

class Solution {
public:
    int lengthOfLastWord(const char *s) {
        if(s == NULL)
            return 0;
        int len = 0, res = 0;
        while(s[len] != ' ')
            len++;
        len--;
        while(s[len] == ' ')
            len--;
        while(len>=0&&s[len] != ' '){
            len--;
            res++;
        }
        return res;
    }
};