题目
分析
之前想的比较简单:从后往前遍历找到一个空格的地方,返回之间的差值。
但是由于这个题例子的刁钻程度是不能行的,于是就先找字母出现的地方做个标记,再找空格出现的地方,返回差值。
题解
class Solution {
public:
int lengthOfLastWord(string s) {
int flag=0;
int tail;
for(int i=s.size()-1;i>=0;i--){
if(s[i]>='A' && s[i]<='z')
{
if(flag==0)
{
flag=1;
tail=i;
}
}
else if(s[i]==' ')
{
if(flag==1)
return tail-i;
}
}
if(flag==1)
return tail+1; //找到字符后再也没找到空格 "abc "
else
return 0;
}
};