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

Length of Last Word

时间:2015-04-16 12:34:04      阅读:110      评论: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.

题目理解:

求一个只有空格和大小写字母组成的字符串中最后一个单词的大小。

解题思路:

只求最后一个单词的大小,会有好几种情况“全部空格”,“全部单词”,“单词+空格+单词+空格”,“空格+单词”,“单词+空格”,从前往后找最后一个单词比较麻烦,我们直接将字符串逆转,只要找到第一个单词,就往后遍历,是字母就+1,一旦遇到空格就退出。

代码:
class Solution {
public:
    int lengthOfLastWord(const char *s) {
 	if (strlen(s)==0) return 0;
		string str=s;
		reverse(str.begin(),str.end());
		int flag=0,last_length=0;
		for (string::iterator iter=str.begin();iter!=str.end();iter++)
		{
			if (*iter!=' ')
			{
				last_length++;
				flag=1;
			}
			if (*iter==' '&&flag==1)
			{
				return last_length;
			}
		}
		return last_length;
    }
};



Length of Last Word

标签:

原文地址:http://blog.csdn.net/sinat_24520925/article/details/45071859

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