题干:
给定一个仅包含大小写字母和空格 ' '
的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指由字母组成,但不包含任何空格的字符串。
示例:
输入: "Hello World" 输出: 5水题,但要注意的地方还是很多,ac代码如下
class Solution {
public:
int lengthOfLastWord(string s)
{
int length = s.size();
vector<int>num;
if(length == 0)
return 0;
int result = 0;
for(int i = 0;i <length;i++)
{
if(s[i] != ' ' && s[i] != length - 1)
result++;
if(i == length -1 && s[i] != ' ')
num.push_back(result);
if(s[i]== ' ')
{
num.push_back(result);
result = 0;
}
}
for(int i = num.size() - 1;i >= 0;i--)//避免在"b a "的情况下出现错误
{
if(num[i] > 0)
{
result = num[i];
break;
}
}
if(result > 0)
return result;
else
return 0;
}
};