23. 合并K个升序链表

23. 合并K个升序链表

给你一个链表数组,每个链表都已经按升序排列。

请你将所有链表合并到一个升序链表中,返回合并后的链表。

示例 1:

输入:lists = [[1,4,5],[1,3,4],[2,6]]
输出:[1,1,2,3,4,4,5,6]
解释:链表数组如下:
[
1->4->5,
1->3->4,
2->6
]
将它们合并到一个有序链表中得到。
1->1->2->3->4->4->5->6
示例 2:

输入:lists = []
输出:[]
示例 3:

输入:lists = [[]]
输出:[]

提示:

k == lists.length
0 <= k <= 10^4
0 <= lists[i].length <= 500
-10^4 <= lists[i][j] <= 10^4
lists[i] 按 升序 排列
lists[i].length 的总和不超过 10^4

代码

// 分治
func mergeKLists(lists []*ListNode) *ListNode {length := len(lists)if length == 0 {return nil}if length == 1 {return lists[0]}// 分而治之return mergeTwoLists(mergeKLists(lists[:length/2]), mergeKLists(lists[length/2:]))
}// 合并两个有序链表
func mergeTwoLists(list1, list2 *ListNode) *ListNode {if list1 == nil {return list2}if list2 == nil {return list1}if list1.Val < list2.Val {list1.Next = mergeTwoLists(list1.Next, list2)return list1} else {list2.Next = mergeTwoLists(list1, list2.Next)return list2}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/382031.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HDU 1874 畅通工程续 (Dijkstra , Floyd , SPFA, Bellman_Ford 四种算法)

畅通工程续 题目链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid1874 Problem Description 某省自从实行了很多年的畅通工程计划后&#xff0c;终于修建了很多路。不过路多了也不好&#xff0c;每次要从一个城镇到另一个城镇时&#xff0c;都有许多种道路方案可以…

训练指南——数学专题一的总结

差不多一个星期过去了&#xff0c;在这一个多星期里&#xff0c;我做了一个数学专题和两场训练赛&#xff0c;要说对自己的感觉&#xff0c;只能说很差劲&#xff0c;开始的时候以为环境会比现在宽松很多&#xff0c;后来才发现想法是错误的&#xff0c;实验室室里室一种紧张的…

micro/protoc-gen-micro 不见了

别挣扎了&#xff0c;这个项目被官方删了。换别的用吧 别挣扎了&#xff0c;这个项目被官方删了。换别的用吧 别挣扎了&#xff0c;这个项目被官方删了。换别的用吧 别挣扎了&#xff0c;这个项目被官方删了。换别的用吧

关于第二次训练赛

第二次训练赛甚至比第一次还要差&#xff0c;开始做的时候&#xff0c;因为在调并查集的题目&#xff0c;一时忘了比赛开始时间&#xff0c;这又导致了在开始便就输在了起跑线上&#xff0c;接下来看A&#xff0c;20分钟后想到了BFS&#xff0c;不过和p商量后&#xff0c;发现他…

一步获取LeetCode的cookies

登录LeetCode 获取登陆的cookies 浏览器F12。console输入 javascript:document.cookie 打完收工 字数不够csdn不发布 字数不够csdn不发布 字数不够csdn不发布 字数不够csdn不发布 字数不够csdn不发布 字数不够csdn不发布 字数不够csdn不发布 字数不够csdn不发布

HDU2066:一个人的旅行

Problem Description虽然草儿是个路痴&#xff08;就是在杭电待了一年多&#xff0c;居然还会在校园里迷路的人&#xff0c;汗~),但是草儿仍然很喜欢旅行&#xff0c;因为在旅途中 会遇见很多人&#xff08;白马王子&#xff0c;^0^&#xff09;&#xff0c;很多事&#xff0c;…

win11 vmware 安装Ubuntu 连接xshell

安装 open ssh&#xff1a; sudo apt-get install openssh-server 修改root密码 #sudo passwd root 辑配置文件&#xff0c;允许以 root 用户通过 ssh 登录&#xff1a; sudo vi /etc/ssh/sshd_config 找到&#xff1a;PermitRootLogin prohibit-password禁用 添加&…

链表面试大全

链表面试 血与泪的教训是&#xff0c;必须要全部手写&#xff0c;而且要熟练。 面试的时间本来就短&#xff0c;到~到 到时 ~ 到时候 一 一 一张紧&#xff0c;就更做不出来了 第一题 链表相加 2. 两数相加 141. 环形链表 golang 160. 相交链表 206. 反转链表 237. 删除链表中…

送东阳马生序

余幼时即嗜学。家贫&#xff0c;无从致书以观&#xff0c;每假借于藏书之家&#xff0c;手自笔录&#xff0c;计日以还。天大寒&#xff0c;砚冰坚&#xff0c;手指不可屈伸&#xff0c;弗之怠。录毕&#xff0c;走送之&#xff0c;不敢稍逾约。以是人多以书假余&#xff0c;余…

hdu 2112 ——HDU Today

Problem Description 经过锦囊相助&#xff0c;海东集团终于度过了危机&#xff0c;从此&#xff0c;HDU的发展就一直顺风顺水&#xff0c;到了2050年&#xff0c;集团已经相当规模了&#xff0c;据说进入了钱江肉丝经济开发区500强。这时候&#xff0c;XHD夫妇也退居了二线&am…

vim如何自动补全,ycm配置

vimplus已经很完善了&#xff0c;现在安装已经很容易了。 git clone https://github.com/chxuan/vimplus.git ~/.vimplus cd ~/.vimplus ./install.sh Ubuntu配置vim 更新2018年11月8号 用了一段时间的Ubuntu 18简直太方便了。 三步操作全部配完&#xff01;&#xff01;&a…

快速幂取模算法模板

在Miller Rabbin测试素数&#xff0c;就用到了快速幂取模的思想。这里总结下。求a^b%c&#xff08;这就是著名的RSA公钥的加密方法&#xff09;&#xff0c;当a,b很大时&#xff0c;直接求解这个问题不太可能 算法1&#xff1a;利用公式a*b%c((a%c)*b)%c,这样每一步都进行这种处…

学脚本的忠告——我觉得语言大多这样了

1.不要看到别人的回复第一句话就说&#xff1a;给个代码吧&#xff01;你应该想想为什么。当你自己想 出来再参考别人的提示&#xff0c;你就知道自己和别人思路的差异。2.初学者请不要看太多太多的书那会误人子弟的&#xff0c;先找本系统的学&#xff0c;很多人用了很久 都是…

hdu 1317——XYZZY

http://blog.csdn.net/dongshimou/article/details/35984917

UVA10843——Anne\'s game

Lily: “Chantarelle was part of my exotic phase.” Buffy: “It’s nice. It’s a mushroom.” Lily: “It is? That’s really embarrassing.” Buffy: “Well, it’s an exotic mushroom, if that’s any comfort.” Joss Whedon, "Anne". A little girl whose…

在kali Linux中搭建DVWA

1、 由于所发教程前几步没有实现&#xff0c;故直接打开浏览器输入localhost/1.php&#xff0c;打开后即为所要页面 2、用cd /var/www/html 命令进入apache web目录 3、用wget https&#xff1a;//github.com/ethicalhack3r/DVWA/archive/master.zip (注意&#xff1a;ethic…

数组名与函数的结合使用注意项

数组名即数组的首地址&#xff0c;故数组名属于指针变量&#xff0c;在定义函数使数组名作为形参时&#xff0c;要把对应的参数定义为指针变量。因为数组没有特定的使其读入停止的标志&#xff0c;因此还要有确定数组长度的参数&#xff0c;即用户自己输入数组长度。 代码如下…

uva 10883——Supermean

Do you know how to compute the mean (or average) of n numbers? Well, thats not good enough for me. I want the supermean! "Whats a supermean," you ask? Ill tell you. List the n given numbers in non-decreasing order. Now compute the average of ea…

-又见GCD -- ACM解决方法

有三个正整数a,b,c(0<a,b,c<10^6)&#xff0c;其中c不等于b。若a和c的最大公约数为b&#xff0c;现已知a和b&#xff0c;求满足条件的最小的c。 Input 第一行输入一个n&#xff0c;表示有n组测试数据&#xff0c;接下来的n行&#xff0c;每行输入两个正整数a,b。 Ou…

Cake -- ACM解决方法

一次生日Party可能有p人或者q人参加,现准备有一个大蛋糕.问最少要将蛋糕切成多少块(每块大小不一定相等),才能使p人或者q人出席的任何一种情况,都能平均将蛋糕分食. Input 每行有两个数p和q. Output 输出最少要将蛋糕切成多少块. Sample Input 2 3 Sample Output 4 …