演算法題--合併兩個排序的連結串列
阿新 • • 發佈:2019-01-07
輸入兩個單調遞增的連結串列,輸出兩個連結串列合成後的連結串列,當然我們需要合成後的連結串列滿足單調不減規則。
function Merge($pHead1, $pHead2) { if($pHead1 == NULL) return $pHead2; if($pHead2 == NULL) return $pHead1; $re = new ListNode(); if ($pHead1 -> val <= $pHead2 -> val) { $re = $pHead1; $pHead1 = $pHead1 -> next; } else { $re = $pHead2; $pHead2 = $pHead2 -> next; } $p = $re; while ($pHead2 && $pHead1) { if ($pHead1 -> val <= $pHead2 -> val) { $p -> next = $pHead1; $p = $p -> next; $pHead1 = $pHead1 -> next; } else { $p -> next = $pHead2; $p = $p -> next; $pHead2 = $pHead2 -> next; } } if ($pHead2 != NULL) { $p -> next = $pHead2; } if ($pHead1 != NULL) { $p -> next = $pHead1; } return $re; }