class Solution {
int dp[10001];
public:
int lengthOfLastWord(string s) {
int l=s.length();
int k=0;
if(s[0]==' ')
dp[0]=0;
else dp[0]=1;
int j=0;
for(int i=1;i<l;i++)
{
if(s[i]==' ')
dp[i]=dp[i-1];
else if(s[i]!=' '&&s[i-1]==' ')
dp[i]=1;
else
{
dp[i]=dp[i-1]+1;
}
}
return dp[l-1];
}
};
递推
官方是从后往前,注意一些特判
class Solution {
public:
int lengthOfLastWord(string s) {
int l=s.length();
if(l==1)
return 1;
int index=l-1;
while(s[index]==' ')
index--;
int k=index;
if(k==0)
return 1;
while(s[index]!=' ')
{
if(index==0)
return k+1;
index--;
}
int j=index;
return k-j;
}
};