给定一个字符串, 包含大小写字母、空格’ ‘,请返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 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