[leetcode] merge k sort list
来源:互联网 发布:中信银行安全控件mac 编辑:程序博客网 时间:2024/05/14 15:48
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: typedef struct{ bool operator()(ListNode* node_1, ListNode* node_2){ return node_1->val < node_2->val; } }Comp; ListNode *mergeKLists(vector<ListNode *> &lists) { // Start typing your C/C++ solution below // DO NOT write int main() function int k=0 ; if (lists.size()==0) return NULL; if (lists.size() == 1) return lists[0]; ListNode* head = NULL; ListNode* pre = NULL; multiset<ListNode*, Comp> temp_heap; for(int i = 0; i< lists.size();i++){ if ( lists[i] != NULL){ temp_heap.insert(lists[i]); k++; lists[i] = lists[i]->next; } } while(k>1){ ListNode* temp = *temp_heap.begin(); if (head == NULL){ head = temp; } else pre->next = temp; pre = temp; temp_heap.erase(temp_heap.begin()); if (temp->next != NULL) temp_heap.insert(temp->next); else k--; } if(pre != NULL)pre->next =*temp_heap.begin();elsehead = *temp_heap.begin(); return head; }};
1. 依然用multiset实现heap
2.
if(pre != NULL)pre->next =*temp_heap.begin();elsehead = *temp_heap.begin();最开始没有做判断,导致如果只有一个list为非空是,出错
- [leetcode] merge k sort list
- leetcode: Sort List, Merge sort solution. Java
- Merge k sorted list--LeetCode
- Leetcode - Merge K sorted list
- [LeetCode] merge sort for linked list
- Sort List (Merge Sort)
- LeetCode 23: Merge K Sorted List
- LeetCode[Linked List]: Merge k Sorted Lists
- 【Leetcode】Merge K Sorted Linked List
- 【LeetCode】Sort List 链表排序- Medium ++(Merge&Quick Sort)
- Linked List Merge Sort
- Sort List (merge & Insertion)
- Merge Sort bug list
- LeetCode Merge Two Sorted Lists and Sort List
- Merge K Sorted List
- Merge K Sorted List
- Merge k sorted List
- [LeetCode] Merge k Sorted List (priority queue, min heap, comparator)
- Windows socket error: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。(10048), on API 'bind'
- Java程序的中文乱码问题研究
- 2012,虎头蛇尾
- 自定义UINavigationBar背景
- hbase的filter集合
- [leetcode] merge k sort list
- POJ 2115 C Looooops
- C++之经典算法-双指针的魅力
- Protocol Buffers学习2
- jQuery常见开发技巧总结
- CABasicAnimation 如何解决保持移动后的位置状态不变
- 传世单机 设置GM账号
- double输出
- sip rport 机制