LeetCode---(58)Length of Last Word

来源:互联网 发布:装修抢单软件 编辑:程序博客网 时间:2024/04/28 20:27

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.

class Solution {public:    int lengthOfLastWord(string s) {        int len=s.size();        if(len==0)            return 0;        int res=0;        int i=0;        while(i!=len)        {            if(s[i]!=' ')            {                int curlength=0;                while(s[i]!='\0'&&s[i]!=' ')                {                    curlength++;                    i++;                }                res=curlength;            }            else                i++;        }        return res;    }};

使用以上的算法可以解决求字符串内单词的多种变形,下边的算法,从后边开始遍历,更加简单

class Solution {
public:
    int lengthOfLastWord(string s) {
        if(s.empty()==1)
            return 0;
        int last=s.size()-1,first=0;
        while(s[last]==' '&&last>=0)
            last--;
        first=last;
        while(s[first]!=' '&&first>=0)
            first--;
        return last-first; 
    }
};


0 0
原创粉丝点击