「Leetcode简洁笔记」第21题:合并两个有序链表

「Leetcode简洁笔记」第21题:合并两个有序链表

首页休闲益智合并世界可爱汽车合并更新时间:2024-07-29

“把你的心 我的心串一串

串一株幸运草 串一个同心圆”

本文答案参考自leetcode官方题解。

简单的题目呢[耶],不过我们将学习两个基本的编程思维:递归迭代

【方法1】递归【时间复杂度:O(n m);空间复杂度:O(n m)】

函数自己调用自己就叫做递归比如国庆假期里 人看人看人看人看人。

但是函数是有返回值比如国庆假期里 人看到人看到人看到人。

在这道题里,由于本人表达水平不够(没错我菜[捂脸]),所以又又贴一次代码:

这里值得说一说 递归的优缺点

优点:编写出来的代码清晰易懂

缺点:由于调用函数,因此需要开辟内存空间来存储变量,增大了空间消耗

【方法2】迭代【时间复杂度:O(n m);空间复杂度:O(1)】

就跟正常人想的一样,你肯定是顺序地两个数字中的较小者加到新链表上。(若其中一个链表已遍历完成,则直接将另一个链表的剩余部分直接加到新链表)。

迭代的优缺点

优点:不用调用函数,因此不需要开辟内存空间来存储变量,不会像递归那样有额外的空间消耗

缺点:编写出来的代码可能有点难以看懂


对不起啊,这篇文章好像有点“简陋”,因为我实在难以表达出具体的操作。见谅了。

[流泪]​[流泪]​[流泪]

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved