首页 > 其他 > 详细

【LeetCode】Length of Last Word

时间:2014-12-11 17:02:03      阅读:242      评论:0      收藏:0      [点我收藏+]

Length of Last Word

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.

 

用result记录上一个单词的长度,用cur记录当前单词的长度。

每遇到空白符,将cur赋给result,然后cur置零。

如果以字母结尾,返回cur

如果以空格结尾,返回result(此时cur为0)

 

class Solution {
public:
    int lengthOfLastWord(const char *s) {
        int result = 0; //last word length
        if(s == NULL)
            return result;
        int i = 0;
        int cur = 0;    //cur word length
        while(s[i] != 0)
        {
            //skip space
            while(s[i] != 0 && s[i] ==  )
                i ++;
            if(s[i] == 0)
                return result;
                
            while(s[i] != 0 && s[i] !=  )
            {//cur word
                i ++;
                cur ++;
            }
            if(s[i] == 0)   //end
            {
                return cur; //cur is exactly the last word
            }
            else
            {//space remains to be addressed in next loop
                result = cur;
                cur = 0;
            }
        }
    }
};

bubuko.com,布布扣

【LeetCode】Length of Last Word

原文:http://www.cnblogs.com/ganganloveu/p/4157958.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!