首页 > 代码库 > leetcode第一刷_Length of Last Word

leetcode第一刷_Length of Last Word

不是很明白出题人的意图,其实这道题用java的话简直是太简单了,用split处理一下,得到所有单词的一个数组,然后求最后一个的长度就行了。我个人觉得java里最成功的函数就是split了,我做工程时几乎总能用到它,方便强大。

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

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