您的位置:首页 > 其它

最后一个单词的长度 -LintCode

2017-10-13 16:49 246 查看
给定一个字符串, 包含大小写字母、空格’ ‘,请返回其最后一个单词的长度。

如果不存在最后一个单词,请返回 0 。

注意事项:

一个单词的界定是,由字母组成,但不包含任何的空格。

样例:

给定 s = “Hello World”,返回 5。

#ifndef C422_H
#define C422_H
#include<iostream>
#include<string>
using namespace std;
class Solution {
public:
/*
* @param s: A string
* @return: the length of last word
*/
int lengthOfLastWord(string &s) {
// write your code here
if (s.empty())
return 0;
int len = s.size();
int l = 0, r = len - 1;
while (l < r)
{
if (isspace(s[l]) && isspace(s[r]))
{
l++;
r--;
}
else if (isspace(s[l]) && !isspace(s[r]))
{
l++;
}
else if (!isspace(s[l]) && isspace(s[r]))
{
r--;
}
else
break;
}
int num = 0;
for (int i = l; i <=r; ++i)
{
if (isspace(s[i]))
{
num = 0;
}
else
{
num++;
}
}
return num;
}
};
#endif
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: