• 【Length of Last Word】cpp


    题目:

    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.

    代码:

    class Solution {
    public:
        int lengthOfLastWord(string s) {
                for ( int i = s.length()-1; i >=0; --i ) 
                {
                    if (s[i]==' ')
                    {
                        s.erase(s.end()-1);
                    }
                    else
                    {
                        break;
                    }
                }
                const size_t len = s.length();
                int ret = 0;
                for ( size_t i = 0; i < len; ++i )
                {
                    if (s[i]!=' ')
                    {
                        ++ret;
                        continue;
                    }
                    if (s[i]==' ')
                    {
                        ret = 0;
                        continue;
                    }
                }
                return ret;
        }
    };

    tips:

    先把后面的空格都去掉。然后从头遍历,最后留下的ret就是最后一个单词的长度。

    还有STL的一个做法,明天再看。

    ==========================================

    第二次过这道题,感觉不知道第一次为啥还用erease这种了,直接一个指针从后往前遍历就AC了。

    class Solution {
    public:
        int lengthOfLastWord(string s) {
                int i = s.size()-1;
                while ( i>=0 ){
                    if ( s[i]==' ' )
                    {
                        --i;
                    }
                    else
                    {
                        break;
                    }
                }
                int ret = 0;
                while ( i>=0 )
                {
                    if (s[i]!=' ')
                    {
                        ++ret;
                        --i;
                    }
                    else
                    {
                        break;
                    }
                }
                return ret;
        }
    };
  • 相关阅读:
    python函数篇
    字符编码和文件处理
    对话代码
    复习2
    [转]借闪光灯的东风 成就你完美的摄影作品
    色系
    Oracle的一些基本操作
    iebook line flash
    网站收录
    复习1
  • 原文地址:https://www.cnblogs.com/xbf9xbf/p/4496016.html
Copyright © 2020-2023  润新知