码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode:Length of Last Word

时间:2015-04-27 12:52:47      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

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;
    }
};

 

LeetCode:Length of Last Word

标签:

原文地址:http://www.cnblogs.com/yxzfscg/p/4459559.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!