您的位置:首页 > 其它

[leetcode]Length of Last Word

2015-01-19 23:18 417 查看
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;
}
};


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: