博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
#leetcode刷题之路23-合并K个排序链表
阅读量:5227 次
发布时间:2019-06-14

本文共 1140 字,大约阅读时间需要 3 分钟。

合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。

示例:

输入:
[
1->4->5,
1->3->4,
2->6
]
输出: 1->1->2->3->4->4->5->6

 

 

#include 
#include
using namespace std;struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}};ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
//合并两个有序链表 ListNode*temp; ListNode*t; if(l1== nullptr) return l2; if(l2== nullptr) return l1; if(l1->val>l2->val)//把头节点值小的放前面 { t=l1;l1=l2;l2=t; } ListNode*head=l1; while(l2!= nullptr) { if(l1->next== nullptr) { l1->next=l2; return head; } else if(l1->val<=l2->val&&l1->next->val>=l2->val) { temp=l2->next; t=l1->next; l1->next=l2; l2->next=t; l1=l2; l2=temp; } else l1=l1->next; } return head;}ListNode* mergeKLists(vector
& lists) { int len=lists.size(); if(len==0) return nullptr; ListNode* head=lists[0]; if(len==1) return head; int n=0; while(n

 

 

转载于:https://www.cnblogs.com/biat/p/10555397.html

你可能感兴趣的文章
centos7升级firefox的flash插件
查看>>
Apache Common-IO 使用
查看>>
javaScript数组去重方法汇总
查看>>
评价意见整合
查看>>
二、create-react-app自定义配置
查看>>
Android PullToRefreshExpandableListView的点击事件
查看>>
系统的横向结构(AOP)
查看>>
linux常用命令
查看>>
NHibernate.3.0.Cookbook第四章第6节的翻译
查看>>
使用shared memory 计算矩阵乘法 (其实并没有加速多少)
查看>>
Django 相关
查看>>
git init
查看>>
训练记录
查看>>
IList和DataSet性能差别 转自 http://blog.csdn.net/ilovemsdn/article/details/2954335
查看>>
Hive教程(1)
查看>>
第16周总结
查看>>
C#编程时应注意的性能处理
查看>>
Fragment
查看>>
比较安全的获取站点更目录
查看>>
苹果开发者账号那些事儿(二)
查看>>