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

[leetcode]Length of Last Word

时间:2015-01-20 00:55:08      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:

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。

题目是要求最后一个单词的长度。

我觉得一般的做法是先去掉头尾的空格,代码就会简单明了一些。下面的代码是从后往前检查字符串,同时计算最后单词的长度。

class Solution {
public:
    int lengthOfLastWord(const char *s) {
		string S = s;
		if(S.length() == 0)return 0;
        string::reverse_iterator r = S.rend();
		int start = 0;
		int size = 0;
		for (r=S.rbegin();r<S.rend();r++)
		{
			if(start != 0){
				if(isspace(*r))
				{
					return size;
				}else{
					size++;
				}
			}else{
				if(!isspace(*r))
				{
					start = 1;
					size++;
				}
			}
		}
		if(start == 0)return 0;
		return size;
    }
};

  

[leetcode]Length of Last Word

标签:

原文地址:http://www.cnblogs.com/zhutianpeng/p/4235014.html

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