面试题25:合并两个排序的链表
Posted xlzfdddd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试题25:合并两个排序的链表相关的知识,希望对你有一定的参考价值。
<?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));
以上是关于面试题25:合并两个排序的链表的主要内容,如果未能解决你的问题,请参考以下文章