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

题目描述:

给你一个字符串 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();
    }
}
相关推荐
tankeven15 小时前
HJ138 在树上游玩
c++·算法
老歌老听老掉牙15 小时前
Python星号参数深度解析
python·参数·星号
lihihi15 小时前
P1209 [USACO1.3] 修理牛棚 Barn Repair
算法
2401_8845632415 小时前
Python Lambda(匿名函数):简洁之道
jvm·数据库·python
weixin_3875342215 小时前
Ownership - Rust Hardcore Head to Toe
开发语言·后端·算法·rust
xsyaaaan15 小时前
leetcode-hot100-链表
leetcode·链表
庞轩px15 小时前
MinorGC的完整流程与复制算法深度解析
java·jvm·算法·性能优化
Queenie_Charlie16 小时前
Manacher算法
c++·算法·manacher
闻缺陷则喜何志丹16 小时前
【树的直径 离散化】 P7807 魔力滋生|普及+
c++·算法·洛谷·离散化·树的直径