zoukankan      html  css  js  c++  java
  • [LeetCode] Length of Last Word

    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.

    指针相减

     1 class Solution {
     2 public:
     3     int lengthOfLastWord(const char *s) {
     4         // Start typing your C/C++ solution below
     5         // DO NOT write int main() function
     6         if (s == NULL)
     7             return 0;
     8             
     9         const char *start = s;
    10         int len = 0;
    11         while(*s != '\0')
    12         {
    13             if (*s == ' ')
    14             {
    15                 int l = s - start;                
    16                 if (l != 0)
    17                     len = l;
    18                 start = s + 1;
    19                 s++;
    20             }
    21             else
    22                 s++;
    23         }
    24         
    25         int l = s - start;
    26         if (l != 0)
    27             len = l;
    28             
    29         return len;
    30     }
    31 };

    模拟题,每次要记录的是空格前的字符开始索引,然后遇到空格得出单词长度。最后要注意的是,可能整个字符没有空格,或者最后一个不是空格,退出循环时要检测一下。

     1 class Solution {
     2 public:
     3     int lengthOfLastWord(const char *s) {
     4         // Start typing your C/C++ solution below
     5         // DO NOT write int main() function
     6         if (s == NULL)
     7             return 0;
     8             
     9         int start = -1;
    10         int index = 0;
    11         int len = 0;
    12         while(*s != '\0')
    13         {
    14            if (isalpha(*s) && start == -1)
    15                start = index;
    16                
    17            if (isspace(*s) && start != -1)
    18            {
    19                len = index - start;
    20                start = -1;
    21            }
    22            
    23            s++;
    24            index++;
    25         }
    26         
    27         if (start != -1)
    28             len = index - start;
    29         
    30         return len;
    31     }
    32 };
  • 相关阅读:
    C#下实现ping功能
    Telnet Chat Daemon
    ADO.NET连接池
    很好使的MAIL CLASS
    实例看多态
    完整的TCP通信包实现
    使用C#进行点对点通讯和文件传输(通讯基类部分)(转)
    特洛伊木马服务器源代码(C#)
    [C#] 如何选择一个目录
    如何使用C#压缩文件及注意的问题!
  • 原文地址:https://www.cnblogs.com/chkkch/p/2765949.html
Copyright © 2011-2022 走看看