#coding:utf-8 # class ListNode: # def __init__(self, x): # self.val = x # self.next = None # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param pHead1 ListNode类 # @param pHead2 ListNode类 # @return ListNode类 # class ListNode: def __init__(self, x): self.val = x self.next = None class Solution: def Merge(self , pHead1 , pHead2 ): # write code here dummpy = ListNode(-1) head = dummpy #dummpy.next = head while pHead1 != None or pHead2 != None: if pHead1 != None and pHead2 != None: if pHead1.val < pHead2.val: head.next = pHead1 pHead1 = pHead1.next else: head.next = pHead2 pHead2 = pHead2.next elif pHead1 != None: head.next = pHead1 pHead1 = pHead1.next elif pHead2 != None: head.next = pHead2 pHead2 = pHead2.next head = head.next self.print_list(dummpy.next) return dummpy.next def print_list(self, node): ret = [] while node != None: ret.append(node.val) node = node.next print ("List is: ", ret) return