代码里面有详解 第一个没想到参考他人的(有利于提升if语句)
第二个挺好理解
int lengthOfLastWord(char * s)
{
/*int index = strlen(s);
if(index == 0)
{
return 0;
}
int count =0;
for(int i = index-1; i >= 0; i--)
{
if(s[i]!=' ')//有助于更好了解 if语句和else之间的配合
{
count ++;
}
else if(count != 0)
{
break;
}
else
{
continue;
}
}
return count;
*/
//先判断最后一个字符是不是‘空格’不是的话就就进入循环记录字符数
//如果最后一个字符是‘空格’ 将空格的下标跳过 跳到非空格字符上 再进行第一步
int len = strlen(s),count = 0,a = 0;
if(s[len - 1] != ' ')
{
for(int i = len - 1;i >= 0 && s[i] != ' ';i--)
{
count++;
}
}
if(s[len - 1] == ' ')
{
for(int i = len - 1; i >= 0 && s[i] == ' ';i--)
{
a = i;//还在空格上
}
for(int j = a - 1;j >= 0 && s[j] != ' ';j--)//减1之后才是非空格
{
count++;
}
}
return count;
}
加油铁汁~