leetcode 23 Merge k Sorted Lists
来源:互联网 发布:华为交换机 端口详解 编辑:程序博客网 时间:2024/06/07 10:15
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: typedef vector<ListNode*>::size_type sz; // [b, e) be sure (e - b) >= 2; ListNode* dividAndConquer(vector<ListNode*>& v, sz b, sz e) { sz n = e - b; sz mid = b + (e - b) / 2; ListNode* left = NULL; ListNode* right = NULL; if (mid - b >= 2) left = dividAndConquer(v, b, mid); else left = v[b]; if (e - mid >= 2) right = dividAndConquer(v, mid, e); else right = v[mid]; ListNode dummy(INT_MIN); ListNode* tail = &dummy; if (left == NULL) return right; if (right == NULL) return left; while (left && right) { if (left->val < right->val) { tail->next = left; left = left->next; } else { tail->next = right; right = right->next; } tail = tail->next; } tail->next = left ? left : right; return dummy.next; } ListNode* mergeKLists(vector<ListNode*>& lists) { sz size = lists.size(); if (size == 0) return NULL; if (size == 1) return lists[0]; return dividAndConquer(lists, 0, size); }}; // runtime contribution 18.70%
阅读全文
0 0
- LeetCode(23)Merge K Sorted Lists
- [leetcode 23] Merge k Sorted Lists
- [leetcode]23 Merge k Sorted Lists
- [#23 leetcode]Merge k Sorted Lists
- LeetCode 23 Merge k Sorted Lists
- leetcode 23 Merge k Sorted Lists
- [Leetcode 23, Hard] Merge k Sorted Lists
- Leetcode 23 Merge k Sorted Lists
- LeetCode 23 - Merge k Sorted Lists
- LeetCode 23: Merge K Sorted Lists
- leetcode-23Merge k Sorted Lists
- leetcode 23: Merge k Sorted Lists
- Leetcode 23 Merge k Sorted Lists
- LeetCode-23 Merge k Sorted Lists
- LeetCode 23: Merge k Sorted Lists
- leetcode 23:Merge k Sorted Lists
- Leetcode #23 Merge k Sorted Lists
- LeetCode(23)Merge k Sorted Lists
- C++多线程——三种线程实现方式的区别与实际应用建议
- Android开发 自定义悬浮可拖动view
- git资料
- vim中寄存器说明
- link_directories, LINK_LIBRARIES, target_link_libraries使用总结
- leetcode 23 Merge k Sorted Lists
- Dubbo_创建Dubbo服务并在ZooKeeper注册,然后通过Jar包执行【转】
- 奋战聊天机器人(一)初识NLTK库
- mac mail设置登录网易邮箱时不成功
- Mysql批量删除带有相同前缀表名的表
- Mybatis中模糊查询的各种写法(转)
- 单元测试(一)-NUnit基础
- Duilib版视频监控客户端(简易版)
- 【推荐】基于Spark的ALS算法