21.2つの秩序チェーンテーブルMerge Two Sorted Listsを結合する


文書ディレクトリ
  • タイトル:2つの秩序チェーンテーブルMerge Two Sorted Lists
  • をマージ
  • 参考解答
  • で発生した問題
  • タイトル:2つの秩序チェーンテーブルMerge Two Sorted Listsを結合する
    2つの順序付きチェーンテーブルを新しい順序付きチェーンテーブルに結合して返します.新しいチェーンテーブルは、指定された2つのチェーンテーブルのすべてのノードを接合することによって構成されます.
      :
      :1->2->4, 1->3->4
      :1->1->2->3->4->4
    

    参考答案
    # Definition for singly-linked list.
    # class ListNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.next = None
    
    class Solution:
        def mergeTwoLists(self, l1, l2):
            """
            :type l1: ListNode
            :type l2: ListNode
            :rtype: ListNode
            """
            result = ListNode(0)
            head = result #    
            
            #    l1   l2      ,     
            if l1 == None and l2 == None:
                return None
            elif l1 == None:
                return l2
            elif l2 == None:
                return l1
            
            while True:
                #    l1   l2      
                if l1.val < l2.val:
                    head.val = l1.val
                    l1 = l1.next
                    if l1 == None:
                        head.next = l2
                        break
                    head.next = ListNode(0)
                    head = head.next
                else:
                    head.val = l2.val
                    l2 = l2.next
                    if l2 == None:
                        head.next = l1
                        break
                    head.next = ListNode(0)
                    head = head.next
            return result
    

    問題
  • ListNodeというリソースの動作の方法
  • #    head.val     ,      0
    head = ListNode(0)
    head.val
    #   head  next     ListNode   ,   0
    head.next = ListNode(0)
    head = head.next  
    
  • head=resultという神の操作は、元のデータを変更することなくresultのnextのデータ
  • を操作する.
    質問を歓迎して、毎晩定期的に返事します~~