力扣 --- 最后一个单词的长度

题目描述:

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

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

示例 1:

复制代码
输入:s = "Hello World"
输出:5
解释:最后一个单词是“World”,长度为5。

示例 2:

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

示例 3:

复制代码
输入:s = "luffy is still joyboy"
输出:6
解释:最后一个单词是长度为6的“joyboy”。

思路描述:

这道题很简单,用Java我们很容易想到两种方法,第一种是从后往前进行遍历,直到遇到第一个单词。第二种是将字符串按空格分割,然后找最后一个元素的长度。

当然,第一种方法是一个比较好的方法,无论在时间还是在空间上。

代码:

思路一:

java 复制代码
class Solution {
    public int lengthOfLastWord(String s) {
        int high=s.length()-1;
        while(s.charAt(high)==' '){
            high--;
        }
        int low=high-1;
        while(low>=0 && s.charAt(low)!=' '){
            low--;
        }
        return high-low;
    }
}

提交结果:

思路二:

java 复制代码
class Solution {
    public int lengthOfLastWord(String s) {
        String[] sarr=s.split(" ");
        return sarr[sarr.length-1].length();
    }
}
相关推荐
aramae13 小时前
模拟实现strstr函数(C语言)
c语言·开发语言·算法
2601_9622845013 小时前
Python 和Java 哪个更适合做自动化测试?
java·自动化测试·python·接口测试·性能测试
liliangcsdn13 小时前
因子权重矩阵处理-滞回缓冲带+降频稳定化动态重选
开发语言·python·算法
泡泡鱼(敲代码中)13 小时前
Python语法技术学习笔记
开发语言·笔记·python·学习·pycharm
敲代码的嘎仔14 小时前
自己设计了一个兑换码算法:自增ID + Base32转码 + 按位加权签名 + 异或混淆,面试被追问细节时终于不用慌了
java·数据库·mysql·算法·微服务·面试·职场和发展
CTA终结者14 小时前
量化实现难,先看交易想法有没有说清
人工智能·python
hqyjzsb14 小时前
Python 技术人转型 AI:CAIE Level I、Level II 对比怎么选
开发语言·人工智能·python·金融·数据挖掘·数据分析·aigc
zhangzeyuaaa14 小时前
Python asyncio 事件循环演进:从手动管理到现代化实践
java·服务器·python
Yanjun2i14 小时前
Agent学习记录三:完成 Agent Loop
python·学习·agent
郝学胜_神的一滴14 小时前
Effective Python 条款 8: 同时遍历多组序列:zip 与 zip_longest 的实战避坑指南
python·pycharm