题目:
解题思路:
题目要求统计最后一个单词的长度,根据其给出的示例可知,最后一个单词的前后都可能存在空格。统计其长度的关键是,找到最后一个单词的首字母和尾字母。
下面给出的代码一、二中都给出注释,整体思路是从后往前遍历,通过出现空格、字符串长度作为结束条件,实现统计最后一个单词的长度的功能。
代码:
代码一:
int lengthOfLastWord(char *s)
{char *q = s;//记录字符串首字符位置while(*q == ' '){q++;};//跳过开头空格while(*++s);//s指向'\0'while(*--s == ' ');//跳过末尾空格int len = 0;while(*s != ' ' && s != q){len++;s--;}if(s == q)//字符串中只存在一个单词时return len+1;elsereturn len;
}
代码二:
int lengthOfLastWord(char *s)
{int len = 0;for(int i = strlen(s)-1; i >= 0 ; i--)//找到尾部{if(s[i] != ' ')//统计len++;if(s[i] == ' ' && len != 0)//跳过末尾空格,结束标志return len;}return len;
}