博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
23. Merge k Sorted Lists
阅读量:5978 次
发布时间:2019-06-20

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

description:

Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.

Note:

Example:

Input:[  1->4->5,  1->3->4,  2->6]Output: 1->1->2->3->4->4->5->6

my answer:

两个两个合并,并行工作

0-3,1-4,2-50,  1,  20-2,10,  10-10

大佬的answer:

/** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:    ListNode* mergeKLists(vector
& lists) { if(lists.empty()) return NULL; int n = lists.size(); while(n > 1){ int k = (n + 1) / 2; for(int i = 0; i < n/2; i++){ lists[i] = merge2lists(lists[i], lists[i + k]); } n = k; }return lists[0]; } ListNode* merge2lists(ListNode* list1, ListNode* list2){ ListNode* dummy = new ListNode(-1), *cur = dummy; while(list1 && list2){ if(list1->val>list2->val){ cur->next = list2; list2 = list2->next; }else{ cur->next = list1; list1 = list1->next; } cur = cur->next; } if(list1) cur->next = list1; if(list2) cur->next = list2; return dummy->next; }};

relative point get√:

hint :

转载于:https://www.cnblogs.com/forPrometheus-jun/p/10888247.html

你可能感兴趣的文章
Python中使用ElementTree解析xml
查看>>
linux的日志服务器关于屏蔽一些关键字的方法
查看>>
mysql多实例实例化数据库
查看>>
javascript 操作DOM元素样式
查看>>
HBase 笔记3
查看>>
【Linux】Linux 在线安装yum
查看>>
Atom 编辑器系列视频课程
查看>>
[原][osgearth]osgearthviewer读取earth文件,代码解析(earth文件读取的一帧)
查看>>
mybatis update返回值的意义
查看>>
expdp 详解及实例
查看>>
通过IP判断登录地址
查看>>
深入浅出JavaScript (五) 详解Document.write()方法
查看>>
Beta冲刺——day6
查看>>
在一个程序中调用另一个程序并且传输数据到选择屏幕执行这个程序
查看>>
代码生成工具Database2Sharp中增加视图的代码生成以及主从表界面生成功能
查看>>
关于在VS2005中编写DLL遇到 C4251 警告的解决办法
查看>>
提高信息安全意识对网络勒索病毒说不
查看>>
我的友情链接
查看>>
IDE---Python IDE之Eric5在window下的安装
查看>>
基本安装lnmp环境
查看>>