【leetcode力ボタン】PHP実現:21.2つの順序付きチェーンテーブルを結合
タイトル:
2つの昇順チェーンテーブルを新しい昇順チェーンテーブルに結合して返します.新しいチェーンテーブルは、指定された2つのチェーンテーブルのすべてのノードを接合することによって構成されます.
例:
解:
2つの昇順チェーンテーブルを新しい昇順チェーンテーブルに結合して返します.新しいチェーンテーブルは、指定された2つのチェーンテーブルのすべてのノードを接合することによって構成されます.
例:
:1->2->4, 1->3->4
:1->1->2->3->4->4
解:
//
function mergeTwoLists($l1, $l2)
{
$dummyHead = new ListNode(null);
$cur = $dummyHead;
while ($l1 !== null && $l2 !== null) {
if ($l1->val <= $l2->val) {
$cur->next = $l1;
$l1 = $l1->next;
} else {
$cur->next = $l2;
$l2 = $l2->next;
}
$cur = $cur->next;
}
if ($l1 !== null) {
$cur->next = $l1;
} elseif ($l2 !== null) {
$cur->next = $l2;
}
return $dummyHead->next;
}
//
function mergeTwoLists($l1, $l2)
{
//
// : ( )
if ($l1 === null) {
return $l2;
}
if ($l2 === null) {
return $l1;
}
if ($l1->val < $l2->val) {
$l1->next = $this->mergeTwoLists($l1->next, $l2);
return $l1;
} else {
$l2->next = $this->mergeTwoLists($l1, $l2->next);
return $l2;
}
}