# 合并有序链表 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)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)