最后一个单词的长度

给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。

单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。

“strlen所作的是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0')。”


输入:s = "Hello World"
输出:5
解释:最后一个单词是“World”,
输入:s = "   fly me   to   the moon  "
输出:4
解释:最后一个单词是“moon”,长度为4。

方法一:

由字符串的后面遍历,当遇到字符时,length++,为空格且length不为0时结束。

int lengthOfLastWord(char * s)
{
  int length=0;
  int i;
  for(i=strlen(s)-1;i>=0;i--)//strlen c的库函数,字符串开头,中间某个位置直到\n截止计数
    {
      if(s[i]!=' ')length++;
      if(s[i]==' '&&length!=0)break;
    }
   return length;
}

方法二:
由字符串头开始遍历,遇到不为'  '计数,为'  'length置0,但解决不了最后字母后面为' ';则加了辅助变量m,将每一次的计数存在m中,若最后一个字母的后面为空格可以直接返回m值。

int lengthOfLastWord(char * s)
{
    int length=0;
    int m=0;//辅助变量
    int i;
    for(i=0;i

你可能感兴趣的:(力扣,#简单题库,c#)