【LeetCode】最后一个单词的长度

之前的博客里面我讲了《剑指offer》中的最后一个单词的长度,参考https://blog.csdn.net/lvxin15353715790/article/details/83793174
因为《LeetCode》中的不同,所以我总结一下这个题。
题目描述:
给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指由字母组成,但不包含任何空格的字符串。
首先,要判断可能的输入,有以下几种

        //1.空指针
        //2.空字符串
        //3.只含有字母 "abc"
        //4.含有字母也含有空格  "abc "
        //5.含有字母也含有空格  "hello world"

然后,我们考虑怎么解决,因为只是要求出最后一个单词的长度,所以我们可以设置一个计数器 flag ,从开头开始计数,当遇到空格且空格的下一位不为零时,计数器清零,代表一个新的单词的开始。
具体代码如下:

class Solution {
public:
    int lengthOfLastWord(string s) {
        //1.空指针
        //2.空字符串
        //3.只含有字母 "abc"
        //4.含有字母也含有空格  "abc "
        //5.含有字母也含有空格  "hello world"
        int flag=0;
        int i=0;
        if(s.size()==0)  //空指针、空字符串
        {
            return 0;
        }
        for(i=0;i<s.size();++i)
        {
            if(s[i]!=' ')
            {
                if (i != 0 && s[i - 1] == ' ') 
                    flag = 1;
                else 
                    ++flag;
            }
        }
        return flag;
    }
};

猜你喜欢

转载自blog.csdn.net/lvxin15353715790/article/details/83794558