OJ练习16——T58 Length of Last Word

返回一字符串最后一个单词的长度。

【思路】

一道水题,但被以前做过的算法局限了。

字符串分割成单词:两个指针,一个指向单词头,一个指向单词尾,两者之间即为一个单词。

于是我想到用这个思路,从前向后,却不能处理最后一个字符是‘ ’的情况。

正确的思路应该是从后往前遍历!

【other code】

int lengthOfLastWord(string s) {
        int len=s.size();
        int sum=0;
        while(s[len-1]==' ') len--;
        for(int i=len-1;i>=0;i--)
        {
            if(s[i]!=' ')   sum++;
            else break;
        }
        return sum;
    }

【总结】

题目好简单,真是不想多说。

要不是没A。

从后向前是很重要的思路,很多串的算法都是这样,不要总是被局限在顺次遍历上。

原文地址:https://www.cnblogs.com/ketchups-notes/p/4431036.html