LeetCode:Length of Last Word

Title:

Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last word in the string.

If the last word does not exist, return 0.

Note: A word is defined as a character sequence consists of non-space characters only.

For example, 
Given s = "Hello World",
return 5.

思路(1):从前往后,设置两个变量。可能出错的地方在于s[i] == ' ',之前没有添加 if (len != 0)这个判断

class Solution {
public:
    int lengthOfLastWord(string s) {
        if (s.size() == 0)
            return 0;
        int pre_len = 0;
        int len = 0;
        for (int i = 0 ; i < s.size(); i++){
            if (s[i] == ' '){
                if (len != 0)
                    pre_len = len;
                len = 0;
            }else{
                len++;
            }
        }
        if (len == 0)
            return pre_len;
        else
            return len;
    }
};

思路(2):从后往前。首先去除最后面是空格的,然后往前知道在遇到空格

class Solution {
public:
    int lengthOfLastWord(const char *s) {
        int len=strlen(s);
        int sum=0;
        while(s[len-1]==' ') len--;
        for(int i=len-1;i>=0;i--)
        {
            if(s[i]!=' ')   sum++;
            else break;
        }
        return sum;
    }
};
原文地址:https://www.cnblogs.com/yxzfscg/p/4459559.html