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

题目描述:

给你一个字符串 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();
    }
}
相关推荐
田梓燊7 小时前
力扣:138.随机链表的复制
算法·leetcode·链表
不忘不弃7 小时前
皇后摆放问题优化求解法
算法
王老师青少年编程7 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【区间贪心】:线段覆盖
c++·算法·贪心·csp·信奥赛·区间贪心·线段覆盖
痴男本疒7 小时前
从一道算法题发现的泛型问题
算法
itzixiao7 小时前
L1-054 福到了(15 分)[java][python]
java·python·算法
斯维赤7 小时前
Python学习超简单第十一弹:邮件发送
开发语言·python·学习
qq_372154237 小时前
如何配置表中某列的排序权重_全文索引配置与权重分配
jvm·数据库·python
M--Y7 小时前
Redis集群和典型应用场景
redis·算法·哈希算法·集群
还是阿落呀8 小时前
如何判断一个年份是否为闰年?
python
2501_914245938 小时前
CSS如何使用-nth-of-type精确选择列表项_通过元素类型限制提升样式健壮性
jvm·数据库·python