最后一个单词的长度

即日起,我们从这个题目开始,把 leetcode 前 200 道题,还没有讲过的,全部讲一遍。


暂定的目标是一周 3-5 篇题解。希望大家支持!一起进步!奥利给!

在这里插入图片描述

01、题目示例

这是一道简单题,只需要普通的遍历就可以完成。不过会遇到一些坑,如果不注意,还是挺容易出错的。


第58题:最后一个单词的长度
给定一个仅包含大小写字母和空格 ’ ’ 的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。

示例:

输入: "Hello World" 
输出: 5

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


02、题解分析

因为我们要获取的是最后一个单词的长度,不难想到可以从尾开始遍历。


题中的陷阱在于,结尾处仍然可能有空格


所以一般的解题思路为,先去掉末尾的空格,然后从尾向前开始遍历,直到遇到第一个空格处结束。


但这里可以取一个巧,我们可以通过一个 count 来记数,从第一个不为空格的数开始记起。换句话说,如果末尾处为空格,此时 count 值为 0,可以直接略过。

在这里插入图片描述

实现代码如下:

//JAVA
class Solution {
       
    public int lengthOfLastWord(String s) {
           
        if(s == null || s.length() == 0)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值