将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例:
输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4
下面PHP代码是把输入的参数当做数组来测试的。
class Solution {
/**
* @param ListNode $l1
* @param ListNode $l2
* @return ListNode
*/
function mergeTwoLists($l1, $l2) {
$arr = [];
$i = $j = 0;
while( count($l1)>$i && count($l2)>$j ){
if ( $l1[$i]<$l2[$j] ){
$arr[] = $l1[$i];
$i++;
} else {
$arr[] = $l2[$j];
$j++;
}
}
while(count($l1)>$i){
$arr[] = $l1[$i];
$i++;
}
while(count($l2)>$j){
$arr[] = $l2[$j];
$j++;
}
return $arr;
}
}
//测试
$test1 = [1, 2, 4];
$test2 = [1, 3, 4];
$demo = new Solution();
$result = $demo->mergeTwoLists($test1, $test2);
var_dump($result);