LeetCode[string]: Length of Last Word

来源:互联网 发布:好玩的微软软件 编辑:程序博客网 时间:2024/05/19 12:25

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. 统计字符串的有效长度;
  2. 滤掉最后的空格;
  3. 统计最后一个单词的长度。

代码如下:

    int lengthOfLastWord(const char *s) {        int i, j, len = 0;        for (i = 0; s[i] != '\0'; ++i) ;        for (  --i; s[i] ==  ' '; --i) ;        for (j = i; j >= 0 && s[j] != ' '; --j, ++len) ;        return len;    }


解法二

一趟找到最后那个单词的长度。

    int lengthOfLastWord(const char *s) {        int len = 0, last = 0;        while (*s)            if (*s++ == ' ') {                last = len > 0 ? len : last;                len = 0;            }            else ++len;        return len > 0 ? len : last;    }


0 0
原创粉丝点击