leetcode---merge-k-sorted-lists---链表
来源:互联网 发布:基洛夫飞艇 知乎 编辑:程序博客网 时间:2024/06/05 20:21
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: ListNode *merge(ListNode *h1, ListNode *h2) { if(!h1) return h2; if(!h2) return h1; ListNode *head = new ListNode(0); ListNode *p = head; ListNode *p1 = h1, *p2 = h2; while(p1 && p2) { if(p1->val < p2->val) { p->next = p1; p1 = p1->next; } else { p->next = p2; p2 = p2->next; } p = p->next; } if(p1) p->next = p1; else if(p2) p->next = p2; return head->next; } ListNode *dfs(vector<ListNode *> &lists, int start, int end) { if(start > end) return NULL; if(start == end) return lists[start]; int mid = (start + end) / 2; ListNode *left = dfs(lists, start, mid); ListNode *right = dfs(lists, mid+1, end); return merge(left, right); } ListNode *mergeKLists(vector<ListNode *> &lists) { int n = lists.size(); if(n == 0) return NULL; return dfs(lists, 0, n-1); }};
阅读全文
0 0
- 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
- Leetcode: Merge k Sorted Lists
- <Leetcode>Merge k Sorted Lists
- [LeetCode] Merge K sorted lists
- SQL char、varchar、nvarchar、varchar2, nvarchar2 字节 字符 汉字
- 重温数据结构:二叉排序树的查找、插入、删除
- php中stdClass的用法分析
- 哈哈
- java将int整型数据转成string数据
- leetcode---merge-k-sorted-lists---链表
- 浮动和绝对定位对布局的影响
- Resource路径通配符classpath和classpath*的区别
- 平安科技18群
- 用Scholar one 投稿过程
- XRecyclerView 的简单使用
- redis数据类型
- 程序员常用网址收藏
- VS c++ soap 获取WebServiece的错误记录 实质错误是errno的错误