解法一:
将链表缓存出来,然后排序 最后出来
class Solution:
def mergeKLists(self, lists) -> ListNode:
# leetcode submit region end(Prohibit modification and deletion)
my_list = []
for thelist in lists:
i = thelist
while i: # thelist 是一个list
my_list.append(i.val)
i = i.next
my_list = sorted(my_list)
head = cur = ListNode(0)
for i in my_list:
cur.next = ListNode(i)
cur = cur.next
return head.next
if __name__ == '__main__':
sol = Solution()
l1, l1.next, l1.next.next = ListNode(1), ListNode(4), ListNode(5)
l2, l2.next, l2.next.next = ListNode(1), ListNode(3), ListNode(4)
l3, l3.next = ListNode(2), ListNode(6)
lists = [l1, l2, l3]
# lists = []
ans = sol.mergeKLists(lists)
while ans:
print(str(ans.val) + '->')
ans = ans.next