【Hard】23. Merge k Sorted Lists
来源:互联网 发布:mac电脑开机问号文件夹 编辑:程序博客网 时间:2024/05/01 05:39
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
中心思想:(此题应有多解)
之前做过merge sorted lists的题,用那一题的方法,写一个Helper function,然后将此列表中的数组一一merge。此方法time complexity可能不够好。
/** * 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 n = lists.size(); ListNode* result = NULL; if (n ==0){ return result; }else if (n == 1){ return lists[0]; } for (int i = 0; i < n; i++){ result = merge(result, lists[i]); } return result; } ListNode* merge(ListNode* l1, ListNode* l2){ if (l1 == NULL) return l2; else if (l2 == NULL) return l1; ListNode* head=NULL; if(l1->val <= l2->val){ head = l1; l1 = l1->next; }else{ head = l2; l2 = l2->next; } ListNode* ret=head; while(l1 != NULL && l2 != NULL){ if (l1->val <= l2->val){ ret->next = l1; l1 = l1->next; } else if (l1->val > l2->val){ ret->next = l2; l2 = l2->next; } ret = ret->next; } if (l1 == NULL) ret->next = l2; else if (l2 == NULL) ret->next = l1; return head; }};
0 0
- 【Hard】23. Merge k Sorted Lists
- LeetCode 23. Merge k Sorted Lists 【hard】
- leetcode 23. Merge k Sorted Lists(Hard)
- 23. Merge k Sorted Lists Hard
- LeetCode 23. Merge k Sorted Lists [hard]
- Hard-题目31:23. Merge k Sorted Lists
- [Leetcode 23, Hard] Merge k Sorted Lists
- Merge k Sorted Lists(hard)
- Hard 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
- 【Easy】88. Merge Sorted Array
- BZOJ 1024 SCOI2009 生日快乐 暴搜
- Liberty版本Neutron LBaas学习
- mysql 数设置据库编码及避免导入乱码问题
- 文章标题 Gym100971B :Derangement
- 【Hard】23. Merge k Sorted Lists
- 火车硬座车厢座位分布表
- 如何在 CentOS 7 用 cPanel 配置 Nginx 反向代理
- codeforcse基础题——#357(div2)C
- 送给大一新生的一些话
- 简单记事本的实现(JAVA)
- Android Logger 日志框架源码分析
- Java控制小数位,获得随机数
- Linux基本操作命令总结以及目录结构图解