python合并有序链表(递归)

python合并有序链表(递归),第1张

python合并有序链表(递归
# 合并有序链表
class ListNode:
    def __init__(self, value=None):
        self.value = value
        self.next = None
def Creat_link_Tail(lst):
    head = ListNode(lst[0])
    L = head
    for i in range(1, len(lst)):
        p = ListNode(lst[i])
        L.next = p
        L = p
    return head
def merge(phead1, phead2):
    if not phead1:
        return phead2
    if not phead2:
        return phead1
    if phead1.value < phead2.value:
        pres = phead1
        pres.next = merge(phead1.next, phead2)
    else:
        pres = phead2
        pres.next = merge(phead1, phead2.next)
    return pres
def print_l(head):
    print(head.value, end=' ')
    if head.next is not None:
        print_l(head.next)
if __name__ == '__main__':
    lst1 = [1,3,5,6]
    lst2 = [0,2,5,7]
    link1 = Creat_link_Tail(lst1)
    link2 = Creat_link_Tail(lst2)
    print_l(link1)
    print()
    print_l(link2)
    print()
    mergehead = merge(link1,link2)
    print_l(mergehead)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5720389.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存