zoukankan      html  css  js  c++  java
  • leetcode || 58、Length of Last Word

    problem:

    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.

    Hide Tags
     String
    题意:给一个字符串,包括大写和小写的字母和空格,求最后一次出现的不包括空格的字符串的长度

    thinking:

    (1)充分理解题意是解这道题的关键。

    对于一些特殊情况: char *s='abc "  (最后一个是空格),   char  *s = "a   b     "(连续空格)要注意到

    (2)刚開始考虑使用 指针之差 来计算字符串的长度。发现掉入了一个无底深渊。各种特殊情况都要考虑在内,能解出来,可是比較绕

    (3)採用 计数法  来解这道题最简单高效,遇到连续的非空格字符串開始计数,遇到空格保存计数结果,也有一些细节要注意。在代码中有凝视

    (4)这道题考擦的是 分析问题的全面性 和 细节处理能力

    code:

    class Solution {
    public:
        int lengthOfLastWord(const char *s) {
            int i=0;
            int count=0;
            int length=0;
            while(*(s+i)!='')
            {
                if(*(s+i)!=' ')
                    count++;
                else
                {
                    if(count>0) //出现连续空格时,防止清空上次有效计数结果
                        length=count;
                    count=0;
                }
                i++;
            }
            if(count!=0) //善后处理:以非空格结束的字符串
                return count;
            else
                return length; //以空格结束
    
        }
    };

     

  • 相关阅读:
    VMware 中安装Centos
    go with go
    [APIO2012]派遣【左偏树】
    后缀自动机三·重复旋律6
    AC自动机(二次加强版)
    [HAOI2016]找相同字符【GSAM广义后缀自动机】
    吉司机线段树【学习笔记】
    [ZJOI2015]诸神眷顾的幻想乡【GSAM】
    广义后缀自动机(广义 SAM)【模板】
    Important Sisters【HDU-4694】【Dominator Tree】
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/6715890.html
Copyright © 2011-2022 走看看