兩個鏈表合成一個鏈表

題目描述
輸入兩個單調遞增的鏈表,輸出兩個鏈表合成後的鏈表,當然我們需要合成後的鏈表滿足單調不減規則。

# -*- coding:utf-8 -*-
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
class Solution:
    # 返回合併後列表
    def Merge(self, pHead1, pHead2):
        # write code here
        if pHead1 == None:
            return pHead2
        if pHead2 == None:
            return pHead1
        
        new_head = pHead1 if pHead1.val < pHead2.val else pHead2
        
        pTemp1 = pHead1
        pTemp2 = pHead2
        
        if new_head == pTemp1:
                pTemp1 = pTemp1.next
        else:
                pTemp2 = pTemp2.next
                
        new_node = new_head
        
        while pTemp1 and pTemp2:
            if pTemp1.val < pTemp2.val:
                new_node.next = pTemp1
                new_node = pTemp1
                pTemp1 = pTemp1.next
                
            else:
                new_node.next = pTemp2
                new_node = pTemp2
                pTemp2 = pTemp2.next
                
        if pTemp1:
            new_node.next = pTemp1
        else:
            new_node.next = pTemp2
        return new_head
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章