码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode[string]: Length of Last Word

时间:2014-11-06 14:57:52      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:leetcode   string   长度   c++   算法   

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

标签:leetcode   string   长度   c++   算法   

原文地址:http://blog.csdn.net/chfe007/article/details/40859251

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!