美文网首页
LeetCode算法解题集:Length of Last Wor

LeetCode算法解题集:Length of Last Wor

作者: 海阔天空的博客 | 来源:发表于2021-10-19 07:21 被阅读0次

    题目:

    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.

    思路:
    思路一,使用string::rfind找最后一个出现的空格,这种方式太复杂,要考虑空格出现的规律,所以第一次使用该算法后,直接抛弃了。
    思路二,对非空格的字符计数,遇到空格且遇到下一个字符时候,重新计数。算法复杂度O(n).

    代码:

    class Solution
    {
    public:
        int lengthOfLastWord(string s)
        {
            int nLastWordLen = 0;
            int bFindSpace = false;
            for (size_t i = 0; i < s.size(); i++)
            {
                if (s[i] == ' ')
                {
                    bFindSpace = true;
                    continue;
                }
     
                if (bFindSpace)
                {
                    nLastWordLen = 0;
                    bFindSpace = false;
                }
     
                nLastWordLen++;
            }
     
            return nLastWordLen;
        }
    };
    

    总结:
    再简单的题目还是要靠思路,思路决定出路,思路错了,原地打转,出不了迷宫!

    本文摘录于海阔天空的博客,作者: zjg555543,发布时间: 2015-09-09

    相关文章

      网友评论

          本文标题:LeetCode算法解题集:Length of Last Wor

          本文链接:https://www.haomeiwen.com/subject/gykgoltx.html