当前位置:网站首页>每日一题-合并K个升序链表-0722
每日一题-合并K个升序链表-0722
2022-08-05 05:17:00 【菜鸡程序媛】
题目
给你一个链表数组,每个链表都已经按升序排列。
请你将所有链表合并到一个升序链表中,返回合并后的链表。
思路
- 采用归并排序的思路,先进行拆解到最小的单位,拆到不能再拆
- 然后再合并,合并成最终的链表
代码
public ListNode mergeKLists(ListNode[] lists) {
if(lists == null || lists.length <= 0)
return null;
return merge(lists, 0, lists.length - 1);
}
private ListNode merge(ListNode[] lists, int left, int right){
if(left == right)
return lists[left];
int mid = left + (right - left) / 2;
//为什么不是left,mid-1和mid,right呢,因为mid取得就是floor(value),如果-1的话,容易造出左侧越界
//拆解到最小的单位
ListNode l1 = merge(lists, left, mid);
ListNode l2 = merge(lists, mid + 1, right);
//进行合并,归并成最终的链表
return mergeTwoLists(l1, l2);
}
private ListNode mergeTwoLists(ListNode l1, ListNode l2){
if(l1 == null)
return l2;
if(l2 == null)
return l1;
if(l1.val < l2.val){
l1.next = mergeTwoLists(l1.next, l2);
return l1;
}else{
l2.next = mergeTwoLists(l1, l2.next);
return l2;
}
}
边栏推荐
- 【UiPath2022+C#】UiPath变量和参数
- 九、响应处理——内容协商底层原理
- Tensorflow steps on the pit notes and records various errors and solutions
- C语言联合体union占用空间大小问题
- 网工必用神器:网络排查工具MTR
- 原型版本管理
- 读论文 - Unpaired Portrait Drawing Generation via Asymmetric Cycle Mapping
- Jupyter notebook选择不同的Anaconda环境作为内核运行
- 【nodejs】第一章:nodejs架构
- [Intensive reading of the paper] R-CNN's Bounding box regression problem is detailed
猜你喜欢

(C语言)动态内存管理

CVPR best paper winner Huang Gao's team from Tsinghua University presented the first dynamic network review

LeetCode刷题之第1024题

发顶会顶刊论文,你应该这样写作

读论文 - Unpaired Portrait Drawing Generation via Asymmetric Cycle Mapping

【UiPath2022+C#】UiPath Switch

物联网-广域网技术之NB-IoT

【UiPath2022+C#】UiPath 数据操作

基于STM32F407的WIFI通信(使用的是ESP8266模块)

LeetCode刷题之第33题
随机推荐
【ts】typescript高阶:条件类型与infer
SharedPreferences and SQlite database
面向小白的深度学习代码库,一行代码实现30+中attention机制。
【论文阅读-表情捕捉】ExpNet: Landmark-Free, Deep, 3D Facial Expressions
关于使用QML的MediaPlayer实现视频和音频的播放时遇到的一些坑
《基于机器视觉的输电线路交叉点在线测量方法及技术方案》论文笔记
四、Web场景之静态资源配置原理
LeetCode刷题之第746题
Facial Motion Capture 调研
网工必用神器:网络排查工具MTR
ECCV2022 | RU & Google propose zero-shot object detection with CLIP!
[Kaggle project actual combat record] Steps and ideas sharing of a picture classification project - taking leaf classification as an example (using Pytorch)
【ts】typeScript高阶:any和unknown
2021电赛资源及经验总结
【UiPath2022+C#】UiPath Switch
CH32V307 LwIP移植使用
GIS面试问题
九、响应处理——内容协商底层原理
Redis设计与实现(第一部分):数据结构与对象
SQL (2) - join window function view