這篇文章主要介紹了PHP實現合并兩個排序鏈表的方法,涉及php針對鏈表的遍曆、判斷、排序等相關操作技巧,需要的朋友可以參考下
本文執行個體講述了PHP實現合并兩個排序鏈表的方法。分享給大家供大家參考,具體如下:
問題
輸入兩個單調遞增的鏈表,輸出兩個鏈表合成後的鏈表,當然我們需要合成後的鏈表滿足單調不減規則。
解決思路
簡單的合并排序。由於兩個數列本來就是遞增的,所以每次將兩個數列中較小的部分拿過來就可以了。
實現代碼
<?php/*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; $reHead = new ListNode(); if($pHead1->val < $pHead2->val){ $reHead = $pHead1; $pHead1 = $pHead1->next; }else{ $reHead = $pHead2; $pHead2 = $pHead2->next; } $p = $reHead; while($pHead1&&$pHead2){ if($pHead1->val <= $pHead2->val){ $p->next = $pHead1; $pHead1 = $pHead1->next; $p = $p->next; } else{ $p->next = $pHead2; $pHead2 = $pHead2->next; $p = $p->next; } } if($pHead1 != NULL){ $p->next = $pHead1; } if($pHead2 != NULL) $p->next = $pHead2; return $reHead;}
您可能感興趣的文章:
php實現的mongoDB單例模式操作類的相關講解
tp5(thinkPHP5)操作mongoDB資料庫的方法詳解
PHP Class SoapClient not found解決方案的講解