leetcode Merge k Sorted Lists
来源:互联网 发布:ubuntu登录界面root 编辑:程序博客网 时间:2024/05/16 17:56
此题利用分治法,将给定的K个链表分成两份,对每一份继续划分,直到最后连个链表进行合并
代码
class Solution {public: ListNode *mergeKLists(vector<ListNode *> &lists) { ListNode *newHead = NULL; int len = lists.size(); if(len==0) return newHead; return helper(lists, 0, len-1); } ListNode * helper(vector<ListNode*> &lists, int l, int r) { if(l<r) { int m = (l+r)/2; return mergeTwoList(helper(lists, l, m), helper(lists, m+1, r)); } return lists[l]; } ListNode * mergeTwoList(ListNode *L1, ListNode *L2) { ListNode *newHead = new ListNode(0); ListNode *p = newHead; ListNode *p1, *p2; p1 = L1; p2 = L2; while(p1!=NULL&&p2!=NULL) { if(p1->val>=p2->val) { p->next = p2; p2 = p2->next; } else { p->next = p1; p1 = p1->next; } p = p->next; } if(p1!=NULL) p->next = p1; if(p2!=NULL) p->next = p2; return newHead->next; }};
0 0
- LeetCode: Merge k Sorted Lists
- LeetCode Merge k Sorted Lists
- LeetCode: Merge k Sorted Lists
- [Leetcode] Merge k Sorted Lists
- [Leetcode] Merge k Sorted Lists
- [Leetcode] Merge K sorted lists
- [LeetCode]Merge k Sorted Lists
- [LeetCode] Merge k Sorted Lists
- LeetCode-Merge k Sorted Lists
- LeetCode: Merge k Sorted Lists
- LeetCode - Merge k Sorted Lists
- LeetCode | Merge k Sorted Lists
- 【leetcode】Merge k Sorted Lists
- Leetcode: Merge k Sorted Lists
- <Leetcode>Merge k Sorted Lists
- [LeetCode] Merge K sorted lists
- [LeetCode] Merge k Sorted Lists
- 【Leetcode】Merge k Sorted Lists
- Zend Framework 2检查登录跳转到登录页
- abercrombie homme but she was stuffed into his mouth down to eat." Wang told reporter. Speaking of
- 解决js下跳转无referer的方法
- s3c2440裸机开发调试环境(MDK4.6,Jlink v8,mini2440)
- MFC之“数字时钟制作”笔记(一)
- leetcode Merge k Sorted Lists
- 多线程开发 - GCD的使用
- 关于BIEE不能正常启动
- Zend Framework 2多域名多模块部署
- 关于getchar函数的理解
- ORA-16179: incremental changes to "log_archive_dest_1" not allowed with SPFILE
- xcode6 使用MJRefresh时报错解决方法
- c中exit和return的区别
- Event 标签的运用