21.2つの秩序チェーンテーブルを統合する(Python)
1333 ワード
もっと素晴らしい内容は、「力ボタンの簡単な問題」に注目してください.
タイトル
難易度:★☆☆☆タイプ:チェーンテーブル
2つの順序付きチェーンテーブルを新しい順序付きチェーンテーブルに結合して返します.新しいチェーンテーブルは、指定された2つのチェーンテーブルのすべてのノードを接合することによって構成されます.
例
入力:1->2->4、1->3->4出力:1->1->2->3->4->4
に答える
2つの秩序チェーンテーブルを融合させ、まず一時的なノードpreを定義します.head,その後融合結果を接続する.次に、2つのチェーンテーブルを巡回して、現在のノードl 1とl 2を取得し、結果としてチェーンテーブルの後に2つのノードのうち小さいノードを接続し、そのノードを1つ後ろに移動して再比較し、そのうちの1つのチェーンテーブルが巡回が終了するまで、別のチェーンテーブルの残りの部分を現在の結果に掛け、一時的なノードpre_に戻るhead後に掛けた結果チェーンテーブルでいいです.
質問やアドバイスがあれば、コメントエリアへようこそ~
タイトル
難易度:★☆☆☆タイプ:チェーンテーブル
2つの順序付きチェーンテーブルを新しい順序付きチェーンテーブルに結合して返します.新しいチェーンテーブルは、指定された2つのチェーンテーブルのすべてのノードを接合することによって構成されます.
例
入力:1->2->4、1->3->4出力:1->1->2->3->4->4
に答える
2つの秩序チェーンテーブルを融合させ、まず一時的なノードpreを定義します.head,その後融合結果を接続する.次に、2つのチェーンテーブルを巡回して、現在のノードl 1とl 2を取得し、結果としてチェーンテーブルの後に2つのノードのうち小さいノードを接続し、そのノードを1つ後ろに移動して再比較し、そのうちの1つのチェーンテーブルが巡回が終了するまで、別のチェーンテーブルの残りの部分を現在の結果に掛け、一時的なノードpre_に戻るhead後に掛けた結果チェーンテーブルでいいです.
class Solution:
def mergeTwoLists(self, l1, l2):
#
if not l1:
return l2
if not l2:
return l1
pre_head = ListNode(0) # ,
cur = pre_head #
while l1 and l2: #
if l1.val > l2.val: #
cur.next = l2 #
l2 = l2.next #
else:
cur.next = l1
l1 = l1.next
cur = cur.next #
if l1:
cur.next = l1 #
if l2:
cur.next = l2
return pre_head.next #
質問やアドバイスがあれば、コメントエリアへようこそ~