leetcode-58.最后一个单词的长度

leetcode-58.最后一个单词的长度

题意

给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。

如果不存在最后一个单词,请返回 0 。

说明:一个单词是指由字母组成,但不包含任何空格的字符串。

示例:

输入: "Hello World"
输出: 5

输入: "a"
输出: 1

输入: "a b c "
输出: 1

算法

  1. 反向遍历字符串
  2. 如果存在字符不是空格,从此开始计数直到碰到下一个空格;
  3. 否则,返回0.。

code

 1 class Solution {
 2 public:
 3     int lengthOfLastWord(string s) {
 4         int ans = 0;
 5         for(int i=s.length()-1; i>=0; i--)
 6         {
 7             if(s[i] != ' ')
 8             {
 9                 while(s[i] != ' ')
10                 {
11                     ans++;
12                     i--;
13                     if(i < 0)
14                     {
15                         break;
16                     }
17                 }
18                 break; 
19             } 
20         }
21         return ans;
22     }
23 };

 上面代码有些乱,最近更新了一版

源码

算法

1. while循环去掉字符串末尾的所有空格

2. while循环统计最后单词长度(不是空格的累加,遇到空格跳出返回)

 1 class Solution {
 2 public:
 3     int lengthOfLastWord(string s) {
 4         int len = s.length();
 5         if(len == 0)
 6             return len;
 7         
 8         int res = 0, i = len-1;
 9         while(s[i] == ' ' && i >= 0)
10             i--;
11         while(s[i] != ' '&& i >= 0)
12         {
13             res++;
14             i--;
15         }
16             
17         return res;
18     }
19 };
全部评论

相关推荐

这算盘打的
程序员小白条:都这样的,都是潜规则,你自己说可以实习一年就行了,实习可以随便跑路的
点赞 评论 收藏
分享
05-19 19:57
蚌埠学院 Python
2237:Gpa70不算高,建议只写排名,个人技能不在多而在精,缩到8条以内。项目留一个含金量高的,减少间距弄到一页,硕士简历也就一页,本科不要写很多
实习,投递多份简历没人回...
点赞 评论 收藏
分享
兄弟们,实习都是在接各种api,该怎么包装简历
仁者伍敌:感觉我自己做小项目也是各种api啊,我要怎么包装简历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务