@@ -41,6 +41,10 @@ https://leetcode-cn.com/problems/merge-k-sorted-lists/description/
4141
4242## 代码
4343
44+ 代码支持 JavaScript, Python3
45+
46+ JavaScript Code:
47+
4448``` js
4549/*
4650 * @lc app=leetcode id=23 lang=javascript
@@ -49,27 +53,6 @@ https://leetcode-cn.com/problems/merge-k-sorted-lists/description/
4953 *
5054 * https://leetcode.com/problems/merge-k-sorted-lists/description/
5155 *
52- * algorithms
53- * Hard (33.14%)
54- * Total Accepted: 373.7K
55- * Total Submissions: 1.1M
56- * Testcase Example: '[[1,4,5],[1,3,4],[2,6]]'
57- *
58- * Merge k sorted linked lists and return it as one sorted list. Analyze and
59- * describe its complexity.
60- *
61- * Example:
62- *
63- *
64- * Input:
65- * [
66- * 1->4->5,
67- * 1->3->4,
68- * 2->6
69- * ]
70- * Output: 1->1->2->3->4->4->5->6
71- *
72- *
7356 */
7457function mergeTwoLists (l1 , l2 ) {
7558 const dummyHead = {};
@@ -129,6 +112,51 @@ var mergeKLists = function(lists) {
129112};
130113```
131114
115+ Python3 Code:
116+
117+ ``` python
118+ # Definition for singly-linked list.
119+ # class ListNode:
120+ # def __init__(self, x):
121+ # self.val = x
122+ # self.next = None
123+
124+ class Solution :
125+ def mergeKLists (self , lists : List[ListNode]) -> ListNode:
126+ n = len (lists)
127+
128+ # basic cases
129+ if lenth == 0 : return None
130+ if lenth == 1 : return lists[0 ]
131+ if lenth == 2 : return self .mergeTwoLists(lists[0 ], lists[1 ])
132+
133+ # divide and conqure if not basic cases
134+ mid = n // 2
135+ return self .mergeTwoLists(self .mergeKLists(lists[:mid]), self .mergeKLists(lists[mid:n]))
136+
137+
138+ def mergeTwoLists (self , l1 : ListNode, l2 : ListNode) -> ListNode:
139+ res = ListNode(0 )
140+ c1, c2, c3 = l1, l2, res
141+ while c1 or c2:
142+ if c1 and c2:
143+ if c1.val < c2.val:
144+ c3.next = ListNode(c1.val)
145+ c1 = c1.next
146+ else :
147+ c3.next = ListNode(c2.val)
148+ c2 = c2.next
149+ c3 = c3.next
150+ elif c1:
151+ c3.next = c1
152+ break
153+ else :
154+ c3.next = c2
155+ break
156+
157+ return res.next
158+ ```
159+
132160## 相关题目
133161
134162-[ 88.merge-sorted-array] ( ./88.merge-sorted-array.md )
0 commit comments