如何用PHP编写合并两个已排序链表的方法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计573个文字,预计阅读时间需要3分钟。
原文:本文字例讲述了PHP实现合并两个排序链表的方法。分享给大众参考,具体如下:问题:输入两个单调递增的链表,输出两个链表合并后的链表,满足合并后的链表满足单调递增。分析:
1.首先创建一个新链表,作为合并后的链表。
2.比较两个链表的头部节点,将较小的节点添加到新链表的末尾。
3.移动被选中的链表的指针,继续与另一个链表的下一个节点比较。
4.重复步骤2和3,直到至少有一个链表到达末尾。
5.将未到达末尾的链表的剩余部分添加到新链表的末尾。
代码示例:php
function mergeSortedLists($l1, $l2) { $merged=new ListNode(0); $current=$merged;while ($l1 && $l2) { if ($l1->val val) { $current->next=$l1; $l1=$l1->next; } else { $current->next=$l2; $l2=$l2->next; } $current=$current->next; }
$current->next=$l1 ?: $l2; return $merged->next;}
本文实例讲述了PHP实现合并两个排序链表的方法。
本文共计573个文字,预计阅读时间需要3分钟。
原文:本文字例讲述了PHP实现合并两个排序链表的方法。分享给大众参考,具体如下:问题:输入两个单调递增的链表,输出两个链表合并后的链表,满足合并后的链表满足单调递增。分析:
1.首先创建一个新链表,作为合并后的链表。
2.比较两个链表的头部节点,将较小的节点添加到新链表的末尾。
3.移动被选中的链表的指针,继续与另一个链表的下一个节点比较。
4.重复步骤2和3,直到至少有一个链表到达末尾。
5.将未到达末尾的链表的剩余部分添加到新链表的末尾。
代码示例:php
function mergeSortedLists($l1, $l2) { $merged=new ListNode(0); $current=$merged;while ($l1 && $l2) { if ($l1->val val) { $current->next=$l1; $l1=$l1->next; } else { $current->next=$l2; $l2=$l2->next; } $current=$current->next; }
$current->next=$l1 ?: $l2; return $merged->next;}
本文实例讲述了PHP实现合并两个排序链表的方法。

