NowCoderphp
<?php header("content-type:text/html;charset=utf-8"); /* * 輸入兩個單調遞增的鏈表,輸出兩個鏈表合成後的鏈表,固然咱們須要合成後的鏈表知足單調不減規則。 P145 */ class ListNode{ var $val; var $next = NULL; function __construct($x){ $this->val = $x; } } function Merge($pHead1, $pHead2) { if($pHead1 == null){ return $pHead2; } if($pHead2 == null){ return $pHead1; } // $pHead = new ListNode(null); if($pHead1->val <= $pHead2->val){ $pHead = $pHead1; $pHead->next = Merge($pHead1->next,$pHead2); } else{ $pHead = $pHead2; $pHead->next = Merge($pHead1,$pHead2->next); } return $pHead; } $head1 = new ListNode(1); $head1->next = new ListNode(4); $head1->next->next = new ListNode(5); $head1->next->next->next = new ListNode(7); $head1->next->next->next->next = new ListNode(8); $head1->next->next->next->next->next = new ListNode(12); $head2 = new ListNode(1); $head2->next = new ListNode(3); $head2->next->next = new ListNode(6); $head2->next->next->next = new ListNode(9); $head2->next->next->next->next = new ListNode(11); print_r(Merge($head1,$head2));