LeetCode58 最后一个单词的长度 2018.4.29

题干:

给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。

如果不存在最后一个单词,请返回 0 。

说明:一个单词是指由字母组成,但不包含任何空格的字符串。

示例:

输入: "Hello World"
输出: 5
水题,但要注意的地方还是很多,ac代码如下
class Solution {
public:
    int lengthOfLastWord(string s)
    {
        int length = s.size();
        vector<int>num;
        if(length == 0)
            return 0;
        int result = 0;
        for(int i = 0;i <length;i++)
        {
            if(s[i] != ' ' && s[i] != length - 1)
                result++;
            if(i == length -1 && s[i] != ' ')
                num.push_back(result);
            if(s[i]== ' ')
            {
                num.push_back(result);
                result = 0;
            }
        }
        for(int i = num.size() - 1;i >= 0;i--)//避免在"b     a    "的情况下出现错误
        {
            if(num[i] > 0)
            {
                result = num[i];
                break;
            }
        }
        if(result > 0)
            return result;
        else
            return 0;
    }
};

猜你喜欢

转载自blog.csdn.net/jerseywwwwei/article/details/80140968
今日推荐