当前位置:网站首页>23. 合并K个升序链表-c语言
23. 合并K个升序链表-c语言
2022-07-07 14:15:00 【Mr Gao】
23. 合并K个升序链表-c语言
给你一个链表数组,每个链表都已经按升序排列。
请你将所有链表合并到一个升序链表中,返回合并后的链表。
示例 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 = [[]]
输出:[]
解题代码如下,很不错的题目:
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */
struct ListNode* merge(struct ListNode* list1,struct ListNode* list2){
struct ListNode*p=(struct ListNode*)malloc(sizeof(struct ListNode));
p->next=NULL;
struct ListNode *s=p;
if(list1==NULL&&list2){
p->next=list2;
}
if(list2==NULL&&list1){
p->next=list1;
}
while(list1&&list2){
if(list1->val<list2->val){
p->next=list1;
p=p->next;
list1=list1->next;
if(list1==NULL){
p->next=list2;
}
}
else{
p->next=list2;
p=p->next;
list2=list2->next;
if(list2==NULL){
p->next=list1;
}
}
}
return s->next;;
}
struct ListNode* mergeKLists(struct ListNode** lists, int listsSize){
int i;
if(listsSize==0){
return NULL;
}
struct ListNode *l=lists[0];
for(i=1;i<listsSize;i++){
l=merge(l,lists[i]);
}
return l;
}
边栏推荐
- A link opens the applet code. After compilation, it is easy to understand
- 招标公告:2022年云南联通gbase数据库维保公开比选项目(第二次)比选公告
- What about the pointer in neural network C language
- hellogolang
- Performance measure of classification model
- Numpy --- basic learning notes
- leetcode 241. Different Ways to Add Parentheses 为运算表达式设计优先级(中等)
- MySQL数据库基本操作-DQL-基本查询
- js中复选框checkbox如何判定为被选中
- 平衡二叉树(AVL)
猜你喜欢
Lecturer solicitation order | Apache seatunnel (cultivating) meetup sharing guests are in hot Recruitment!
Enterprise log analysis system elk
TiDB For PostgreSQL和YugabyteDB在Sysbench上的性能对比
统计学习方法——感知机
torch. Numel action
SysOM 案例解析:消失的内存都去哪了 !| 龙蜥技术
You Yuxi, coming!
记一次项目的迁移过程
[flower carving experience] 15 try to build the Arduino development environment of beetle esp32 C3
分步式監控平臺zabbix
随机推荐
laravel构造函数和中间件执行顺序问题
TiDB For PostgreSQL和YugabyteDB在Sysbench上的性能对比
Xcode Revoke certificate
PHP实现执行定时任务的几种思路详解
招标公告:盘锦市人民医院盘锦医院数据库维保项目
JS modularization
Application example of infinite list [uigridview]
Introduction to pyGame games
leetcode 241. Different Ways to Add Parentheses 为运算表达式设计优先级(中等)
应用程序和matlab的通信方式
Statistical learning method -- perceptron
Shader_ Animation sequence frame
torch.numel作用
SPI master rx time out中断
Balanced binary tree (AVL)
Apache Doris刚“毕业”:为什么应关注这种SQL数据仓库?
MySQL数据库基本操作-DQL-基本查询
Laravel service provider instance tutorial - create a service provider test instance
laravel 是怎么做到运行 composer dump-autoload 不清空 classmap 映射关系的呢?
leetcode 241. Different ways to add parentheses design priority for operational expressions (medium)