刷题专栏(二):最后一个单词的长度

简介: 刷题专栏(二):最后一个单词的长度

前言

今天我们来看《最后一个单词的长度》这道题,难度简单。

欢迎大家关注我的刷题专栏,一起学习算法。

image.png

算法题:最后一个单词的长度

这道题可太简单了,只需要你会用一些基础的方法函数就能很快解出来。

一个长字符串,简单说的话,就是一个英文短句而已。

一下子就能找到规律,那就是每一个单词之间都使用空格来分隔开。

假如我们利用java的split方法将字符串根据空格来转换成字符串数组,这样就根本不需要看其他的单词,只需要拿出数组中最后的一个元素,并且将这个元素单词的长度返回给主方法即可。

再或者,使用indexOf、lastIndexOf方法直接获取到最后一个单词,只要是找到具体的规律后,这个问题就很好解决了。

代码展示

这道题的代码量格外的少,一行代码就能搞定,使用的是上述所说的第一种方法,因为这种更简单一些。

public class Solution {
    public static void main(String[] args) {
        Solution solution = new Solution();
        System.out.println(solution.lengthOfLastWord("Hello World"));
    }
    public int lengthOfLastWord(String s) {
        String[] strings = s.split(" ");
        return strings[strings.length - 1].length();
    }
}

执行结果展示:

通过如期而至。

image.png

内存的占用情况,推测一下是数组的原因,所以特地去试了一下官方提供的解决方法,好吧,还是数组更耗内存。

使用charAt方法来获取每一个字符,直到碰到空格终止,这样执行的情况内存会相对小一些,就是代码量大一些。

总结

简单的函数使用,从运行结果上来看,内存占用比很大,大家可以考虑一下如何降低一下内存的使用。

目录
相关文章
|
6月前
|
算法
力扣经典150题第十九题:最后一个单词的长度
力扣经典150题第十九题:最后一个单词的长度
36 0
|
7月前
|
C++
【力扣经典面试题】58. 最后一个单词的长度
【力扣经典面试题】58. 最后一个单词的长度
|
7月前
|
存储 算法 索引
刷题专栏(二十六):字符串中的第一个唯一字符
刷题专栏(二十六):字符串中的第一个唯一字符
103 1
刷题专栏(二十六):字符串中的第一个唯一字符
|
7月前
leetcode-面试题 17.15:最长单词
leetcode-面试题 17.15:最长单词
41 0
|
7月前
剑指Offer LeetCode 面试题50. 第一个只出现一次的字符
剑指Offer LeetCode 面试题50. 第一个只出现一次的字符
37 0
LeetCode150道面试经典题--最后一个单词的长度(简单)
给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
45 0
|
测试技术
LeetCode刷题集(六)(LeetCode58.最后一个单词长度)
LeetCode刷题集(六)(LeetCode58.最后一个单词长度)
63 0
|
C语言
LeetCode刷题集(四)(LeetCode2114.句子中的最多单词数)
LeetCode刷题集(四)(LeetCode2114.句子中的最多单词数)
58 0
|
自然语言处理
LeetCode每日一题——648. 单词替换
在英语中,我们有一个叫做 词根(root) 的概念,可以词根后面添加其他一些词组成另一个较长的单词——我们称这个词为 继承词(successor)。例如,词根an,跟随着单词 other(其他),可以形成新的单词 another(另一个)。
120 0