21.2つの秩序チェーンテーブルMerge Two Sorted Listsを結合する
5496 ワード
文書ディレクトリタイトル:2つの秩序チェーンテーブルMerge Two Sorted Lists をマージ参考解答 で発生した問題 タイトル:2つの秩序チェーンテーブルMerge Two Sorted Listsを結合する
2つの順序付きチェーンテーブルを新しい順序付きチェーンテーブルに結合して返します.新しいチェーンテーブルは、指定された2つのチェーンテーブルのすべてのノードを接合することによって構成されます.
参考答案
問題 ListNodeというリソースの動作の方法 head=resultという神の操作は、元のデータを変更することなくresultのnextのデータ を操作する.
質問を歓迎して、毎晩定期的に返事します~~
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
問題
# head.val , 0
head = ListNode(0)
head.val
# head next ListNode , 0
head.next = ListNode(0)
head = head.next
質問を歓迎して、毎晩定期的に返事します~~