前言
今天我们来看《最后一个单词的长度》这道题,难度简单。
欢迎大家关注我的刷题专栏,一起学习算法。
算法题:最后一个单词的长度
这道题可太简单了,只需要你会用一些基础的方法函数就能很快解出来。
一个长字符串,简单说的话,就是一个英文短句而已。
一下子就能找到规律,那就是每一个单词之间都使用空格来分隔开。
假如我们利用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(); } }
执行结果展示:
通过如期而至。
内存的占用情况,推测一下是数组的原因,所以特地去试了一下官方提供的解决方法,好吧,还是数组更耗内存。
使用charAt方法来获取每一个字符,直到碰到空格终止,这样执行的情况内存会相对小一些,就是代码量大一些。
总结
简单的函数使用,从运行结果上来看,内存占用比很大,大家可以考虑一下如何降低一下内存的使用。