leetcode:Merge k Sorted Lists(按大小顺序连接k个链表)【面试算法题】
来源:互联网 发布:西游记搞笑配音软件 编辑:程序博客网 时间:2024/06/17 14:59
题目:Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
题意:把k个排序成一个有序链表。
用优先队列先把k个链表遍历一遍把值存起来,在建一个新链表吧数从优先队列里一个个放进去,注意空指针的判断。
/** * 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) { int i,j,len=lists.size(); priority_queue<int,vector<int>,greater<int>> q; int flag=1; while(flag!=0) { flag=0; for(i=0;i<len;++i) { if(lists[i]) { flag=1; q.push(lists[i]->val); lists[i]=lists[i]->next; } } } if(q.empty())return NULL; ListNode *root,*now; root=new ListNode(q.top()); root->next=NULL; now=root; q.pop(); while(!q.empty()) { now->next=new ListNode(q.top()); now=now->next; q.pop(); now->next=NULL; } return root; }};
- leetcode:Merge k Sorted Lists(按大小顺序连接k个链表)【面试算法题】
- LeetCode算法题目:Merge k Sorted Lists
- LeetCode算法题——23. Merge k Sorted Lists
- python写算法题:leetcode: 23. 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
- NYOJ 题目41 三个数从小到大排序
- POJ-2411-Mondriaan's Dream
- hdu 4263 Red/Blue Spanning Tree
- 大话设计模式十九:组合模式(分公司 = 一部门)
- 获取Word的页数
- leetcode:Merge k Sorted Lists(按大小顺序连接k个链表)【面试算法题】
- printf()
- cocos2d-x学习总结之schedule的局限性
- NYOJ 题目40 公约数和公倍数
- hdu 4691 Front compression
- HTTP 协议详解
- Qt5功能包之绘图系统--坐标系
- 黑马程序员_java多态
- IOS详解TableView——选项抽屉(天猫商品列表)