您的位置:首页 > 其它

LeetCode:Length of Last Word

2015-04-27 11:08 393 查看
Title:

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):从前往后,设置两个变量。可能出错的地方在于s[i] == ' ',之前没有添加 if (len != 0)这个判断

class Solution {
public:
int lengthOfLastWord(string s) {
if (s.size() == 0)
return 0;
int pre_len = 0;
int len = 0;
for (int i = 0 ; i < s.size(); i++){
if (s[i] == ' '){
if (len != 0)
pre_len = len;
len = 0;
}else{
len++;
}
}
if (len == 0)
return pre_len;
else
return len;
}
};


思路(2):从后往前。首先去除最后面是空格的,然后往前知道在遇到空格

class Solution {
public:
int lengthOfLastWord(const char *s) {
int len=strlen(s);
int sum=0;
while(s[len-1]==' ') len--;
for(int i=len-1;i>=0;i--)
{
if(s[i]!=' ')   sum++;
else break;
}
return sum;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: