首页 > 代码库 > LeetCode[string]: Length of Last Word

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

代码如下:

C++ code
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; }

解法二

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

C++ code
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; }

LeetCode[string]: Length of Last Word