题解 | #合并两个排序的链表#
合并两个排序的链表
https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337
<?php /*class ListNode{ var $val; var $next = NULL; function __construct($x){ $this->val = $x; } }*/ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param pHead1 ListNode类 * @param pHead2 ListNode类 * @return ListNode类 */ function Merge( $pHead1 , $pHead2 ) { if(!$pHead1 || !$pHead2){ return $pHead1?$pHead1:$pHead2; } # 方法1 ,循环 // $head = new ListNode(-1); // $tmp = $head; // // write code here // while ($pHead1 && $pHead2){ // if ($pHead1->val <= $pHead2->val){ // $tmp->next = new ListNode($pHead1->val); // $pHead1 = $pHead1->next; // }else{ // $tmp->next = new ListNode($pHead2->val); // $pHead2 = $pHead2->next; // } // $tmp = $tmp->next; // } // $tmp->next = $pHead1?$pHead1:$pHead2; // return $head->next; // 方法二 递归 if ($pHead1->val <= $pHead2->val){ $pHead1->next =Merge($pHead1->next,$pHead2); return $pHead1; }else{ $pHead2->next =Merge($pHead1,$pHead2->next); return $pHead2; } }#合并两个排序的链表#