首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

LeetCode 58 最后一个单词的长度

LeetCode 58

首先,先看一下题目:

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

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

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

示例:

输入: “Hello World”

输出: 5

思路1:

1、切割字符串

2、去空格

3、取最后一个子字符

4、返回长度

分析可行性:

在c++中缺少像java中的splite函数所以是不太方便的,而且这道题也不希望我们是这样的做法。

所以换一种方法。

思路2:

将字符串中的大小写字母提取出来存放在vector中。利用back获取最后一个字符串,并且返回它的长度。

步骤:

1、迭代字符串的每个字符

2、判断该字符是否是空格:

是:判断是否有下一个元素

是:判断下一个字符是否是空格:

是:跳过

否:将该字符追加到subst中

否:将不为空的子字符串添加到vector中

3、返回vector

这样的做法虽然实现了,但是用的时间太长:

思路三:

1、这道题不需要求最后一个子字符串所以可以直接求它的长度。

2、上面思路混乱。下面的基本是最 优的了

动动您可爱小手关注我:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180806G0IG4K00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券