aboutsummaryrefslogtreecommitdiff
path: root/merge_k_lists.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'merge_k_lists.cpp')
-rw-r--r--merge_k_lists.cpp36
1 files changed, 0 insertions, 36 deletions
diff --git a/merge_k_lists.cpp b/merge_k_lists.cpp
deleted file mode 100644
index 375fb10..0000000
--- a/merge_k_lists.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-#include <bits/stdc++.h>
-using namespace std;
-
-struct ListNode {
- int val;
- ListNode *next;
- ListNode() : val(0), next(nullptr) {}
- ListNode(int x) : val(x), next(nullptr) {}
- ListNode(int x, ListNode *next) : val(x), next(next) {}
-};
-
-class Solution {
-public:
- ListNode *mergeKLists(vector<ListNode *> &lists) {
- if (lists.size() == 0)
- return NULL;
- ListNode *head = lists[0];
- for (int i = 1; i < lists.size(); i++)
- head = merge(head, lists[i]);
- return head;
- }
-
-private:
- ListNode *merge(ListNode *list1, ListNode *list2) {
- if (!list1)
- return list2;
- if (!list2)
- return list1;
- ListNode *head = list1->val <= list2->val ? list1 : list2;
- head->next = list1->val <= list2->val ? merge(list1->next, list2)
- : merge(list1, list2->next);
- return head;
- }
-};
-
-int main() {}