23. Merge k Sorted Lists
来源:互联网 发布:学习c语言游戏开发 编辑:程序博客网 时间:2024/06/05 02:23
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
由题意得,就是给出K个排序好的链表序列,然后把它们都合并起来。因为这一题的上一个题目是merge two sorted lists,所以每次都合并两个序列,然后就可以了,但是显然这样时间复杂度比较高,大概为O(k*n),其中n为链表的平均长度,代码如下。
Code(LeetCode运行293ms)
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* mergeKLists(vector<ListNode*>& lists) { if (lists.size() == 0) { return NULL; } ListNode *p = lists[0]; for (int i = 1; i < lists.size(); i++) { p = mergeTowLists(p, lists[i]); } return p; } ListNode* mergeTowLists(ListNode* l1, ListNode* l2) { ListNode head(INT_MIN); ListNode *pointer = &head; while (l1 != NULL && l2 != NULL) { if (l1 -> val <= l2 -> val) { pointer -> next = l1; l1 = l1 -> next; } else { pointer -> next = l2; l2 = l2 -> next; } pointer = pointer -> next; } if (!l1) { pointer -> next = l2; } else { pointer -> next = l1; } return head.next; }};其实还可以进一步减少一点复杂度,例如是先把序列中的链表先两两合并,然后再合并,一直到合并成一个序列,这样的话时间复杂度为O(k*logn),具体代码不写了,因为也是复用了mergeTwoSortedLists,改一下主函数里的代码就好了。
阅读全文
0 0
- 23. Merge k Sorted Lists
- 23.Merge K Sorted Lists
- 23. Merge k Sorted Lists
- 23. Merge k Sorted Lists
- 23. Merge k Sorted Lists
- 23. Merge k Sorted Lists
- 23. Merge k Sorted Lists
- 23.Merge k Sorted Lists
- 23. Merge k Sorted Lists
- 23. Merge k Sorted Lists
- 23. Merge k Sorted Lists
- 23.Merge k Sorted Lists
- 23. Merge k Sorted Lists
- 23. Merge k Sorted Lists
- 23. Merge k Sorted Lists
- 23. Merge k Sorted Lists
- 23. Merge k Sorted Lists
- 23. Merge k Sorted Lists
- HTC VIVE开发教程基础交互功能
- 【bzoj 1468】Tree(树的点分治)
- ES6爬坑之let命令
- swagger在本地没问题可是上传至服务器报错解决办法Can't read from server. It may not have the appropriate access-control-or
- 尺子从一,分为四的故事(BooheeRuler的创造和重构思路)
- 23. Merge k Sorted Lists
- three.js 04-07 之 MeshPhongMaterial 材质
- JMeter工具Day1基础知识之使用命令行生成html报告
- mark聚类和分类
- 100%完美友盟分享
- 电子商务javaweb b2b b2c o2o平台
- java常用正则
- 马云如何坐地铁?语音购票、刷脸进站,还有防拥挤的智能人流分析
- 修改一下 host 文件,加个域名映射