题解 | #合并两个排序的链表#
合并两个排序的链表
https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337
# class ListNode: # def __init__(self, x): # self.val = x # self.next = None # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param pHead1 ListNode类 # @param pHead2 ListNode类 # @return ListNode类 # class Solution: def Merge(self , pHead1: ListNode, pHead2: ListNode) -> ListNode: # write code here dummy_head = ListNode(-1) cur = dummy_head while pHead1 is not None or pHead2 is not None: if pHead1 is None: cur.next = pHead2 pHead2 = pHead2.next elif pHead2 is None: cur.next = pHead1 pHead1 = pHead1.next else: val1, val2 = pHead1.val, pHead2.val if val1 < val2: cur.next = pHead1 pHead1 = pHead1.next else: cur.next = pHead2 pHead2 = pHead2.next cur = cur.next return dummy_head.next
分别判断两个指针的值是否为空,如果为空直接连到另一个不为空的指针上,都不为空时对值进行比较。