PHP实现合并两个排序链表的方法


Posted in PHP onJanuary 19, 2018

本文实例讲述了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程序设计有所帮助。

PHP 相关文章推荐
PHP foreach循环使用详解与实例代码
May 08 PHP
php实现统计邮件大小的方法
Aug 06 PHP
PHP使用socket发送HTTP请求的方法
Feb 14 PHP
PHP中STDCLASS用法实例分析
Nov 11 PHP
Thinkphp框架中D方法与M方法的区别
Dec 23 PHP
PHP有序表查找之插值查找算法示例
Feb 10 PHP
Mac系统下安装PHP Xdebug
Mar 30 PHP
django中的ajax组件教程详解
Oct 18 PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
May 06 PHP
PHP+redis实现微博的拉模型案例详解
Jul 10 PHP
php面试实现反射注入的详细方法
Sep 30 PHP
laravel 5.5 关闭token的3种实现方式
Oct 24 PHP
php利用ob_start()清除输出和选择性输出的方法
Jan 18 #PHP
php通过header发送自定义数据方法
Jan 18 #PHP
PHP实现从上往下打印二叉树的方法
Jan 18 #PHP
PHP获取链表中倒数第K个节点的方法
Jan 18 #PHP
PHP获取二叉树镜像的方法
Jan 17 #PHP
PHP实现按之字形顺序打印二叉树的方法
Jan 16 #PHP
PHP实现可添加水印与生成缩略图的图片处理工具类
Jan 16 #PHP
You might like
PHP无敌近乎加密方式!
2010/07/17 PHP
PHP使用GIFEncoder类处理gif图片实例
2014/07/01 PHP
ThinkPHP应用模式扩展详解
2014/07/16 PHP
thinkPHP实现签到功能的方法
2017/03/15 PHP
javascript document.compatMode兼容性
2010/02/23 Javascript
初识JQuery 实例一(first)
2011/03/16 Javascript
Javascript生成json的函数代码(可以用php的json_decode解码)
2012/06/11 Javascript
JS左右无缝滚动(一般方法+面向对象方法)
2012/08/17 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
javascript模拟命名空间
2015/04/17 Javascript
js中最容易被忽视的事件问题大总结
2016/05/15 Javascript
js实现一个简单的数字时钟效果
2017/03/29 Javascript
JavaScript输入框字数实时统计更新
2017/06/17 Javascript
小程序实现长按保存图片的方法
2019/12/31 Javascript
node.JS的crypto加密模块使用方法详解(MD5,AES,Hmac,Diffie-Hellman加密)
2020/02/06 Javascript
python正则表达式re模块详细介绍
2014/05/29 Python
Python简单生成随机姓名的方法示例
2017/12/27 Python
python with提前退出遇到的坑与解决方案
2018/01/05 Python
python实现维吉尼亚算法
2019/03/20 Python
python pandas 时间日期的处理实现
2019/07/30 Python
解析python的局部变量和全局变量
2019/08/15 Python
django 使用 PIL 压缩图片的例子
2019/08/16 Python
Python的历史与优缺点整理
2020/05/26 Python
详解python中的闭包
2020/09/07 Python
携程旅行网:中国领先的在线旅行服务公司
2017/02/17 全球购物
HTC VIVE美国官网:VR虚拟现实眼镜
2018/02/13 全球购物
英国花园、DIY、电器和家居用品商店:Robert Dyas
2019/03/18 全球购物
Wedgwood英国官方网站:英式精致骨瓷餐具、礼品与生活精品,源于1759年
2019/09/02 全球购物
C/C++有关内存的思考题
2015/12/04 面试题
致跳高运动员广播稿
2014/01/13 职场文书
文明寄语大全
2014/04/11 职场文书
员工试用期转正自我评价
2015/03/10 职场文书
士兵突击观后感
2015/06/16 职场文书
用JS创建一个录屏功能
2021/11/11 Javascript
开机音效回归! Windows 11重新引入开机铃声
2021/11/21 数码科技
十大冰系宝可梦排名,颜值最高的阿罗拉九尾,第三使用率第一
2022/03/18 日漫