LeetCode OJ:Merge k Sorted Lists
2014-01-30 21:49
471 查看
Merge k Sorted Lists
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.算法思想:
每次从lists中找一个值最小的加到链中,最小的那个项指向它的下一个节点
/** * 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) { ListNode *nh=new ListNode(0); ListNode *pre=nh; while(true){ int minval=INT_MAX; int index; for(int i=0;i<lists.size();i++){ if(lists[i]&&lists[i]->val<minval){ index=i; minval=lists[i]->val; } } if(minval==INT_MAX)break; pre->next=lists[index]; pre=pre->next; lists[index]=lists[index]->next; } pre->next=NULL; return nh->next; } };
相关文章推荐
- LeetCode OJ:Merge Two Sorted Lists
- LeetCode OJ 之Merge TwoSorted Lists 解题报告
- LeetCode OJ - Merge Two Sorted Lists
- LeetCode OJ:Merge k Sorted Lists(归并k个链表)
- 【LeetCode OJ】Merge Two Sorted Lists
- LeetCode OJ - Merge k Sorted Lists
- [LeetCode OJ]Merge k Sorted Lists
- 【LeetCode OJ】Merge Two Sorted Lists
- LeetCode OJ 之 Merge k Sorted Lists(合并k个有序链表)
- LeetCode OJ:Merge Two Sorted Lists(合并两个链表)
- LeetCode OJ 之 Merge Two Sorted Lists(合并两个有序的链表)
- LeetCode OJ-- Merge k Sorted Lists *@
- LeetCode OJ--Merge Two Sorted Lists
- Leetcode OJ 23 Merge k Sorted Lists [Hard]
- LeetCode OJ——Merge Two Sorted Lists
- LeetCode OJ - Merge Sorted Array & Merge Two Sorted Lists
- [LeetCode OJ]Merge Two Sorted Lists
- Leetcode OJ : Merge k Sorted Lists 归并排序+最小堆 mergesort heap C++ solution
- LeetCode Merge k Sorted Lists
- Merge Two Sorted Lists