面试150 合并K个升序链表
思路
对链表元素进行获取,然后进行sort()排序,最后通过空节点建立链表法重新建立一个有序的链表,返回头节点即可。
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:def mergeKLists(self, lists: List[Optional[ListNode]]) -> Optional[ListNode]:#list先存储然后虚拟节点res=[]if not lists:return Nonefor list in lists:while list:res.append(list.val)list=list.nextdummy=ListNode()cur=dummyres.sort()for i in range(len(res)):p=ListNode(res[i])cur.next=p cur=p return dummy.next