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 URL路由类实例
Nov 12 PHP
php json转换成数组形式代码分享
Nov 10 PHP
php 使用file_get_contents读取大文件的方法
Nov 13 PHP
PHP图像处理之imagecreate、imagedestroy函数介绍
Nov 19 PHP
分享php邮件管理器源码
Jan 06 PHP
PHPCMS2008广告模板SQL注入漏洞修复
Oct 11 PHP
Linux平台php命令行程序处理管道数据的方法
Nov 10 PHP
php生成条形码的图片的实例详解
Sep 13 PHP
PHP+Apache环境中如何隐藏Apache版本
Nov 24 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
Sep 03 PHP
TP3.2.3框架文件上传操作实例详解
Jan 23 PHP
php实现微信和支付宝支付的示例代码
Aug 11 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内核探索:变量概述
2014/01/30 PHP
PHP中isset()和unset()函数的用法小结
2014/03/11 PHP
thinkPHP中volist标签用法示例
2016/12/06 PHP
你的编程语言可以这样做吗?
2006/09/07 Javascript
JavaScript 滚轮事件使用说明
2010/03/07 Javascript
多浏览器兼容性比较好的复制到剪贴板的js代码
2011/10/09 Javascript
JS获取图片实际宽高及根据图片大小进行自适应
2013/08/11 Javascript
js 获取页面高度和宽度兼容 ie firefox chrome等
2014/05/14 Javascript
jQuery实现鼠标划过修改样式的方法
2015/04/14 Javascript
jQuery实现TAB风格的全国省份城市滑动切换效果代码
2015/08/24 Javascript
Vuex持久化插件(vuex-persistedstate)解决刷新数据消失的问题
2019/04/16 Javascript
javascript实现函数柯里化与反柯里化过程解析
2019/10/08 Javascript
JS实现水平移动与垂直移动动画
2019/12/19 Javascript
JS实现瀑布流效果
2020/03/07 Javascript
使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
2014/01/19 Python
Python函数式编程指南(二):从函数开始
2015/06/24 Python
Python实现将数据写入netCDF4中的方法示例
2018/08/30 Python
Pandas GroupBy对象 索引与迭代方法
2018/11/16 Python
python中字符串数组逆序排列方法总结
2019/06/23 Python
Python 通过微信控制实现app定位发送到个人服务器再转发微信服务器接收位置信息
2019/08/05 Python
Python批量启动多线程代码实例
2020/02/18 Python
基于PyTorch中view的用法说明
2021/03/03 Python
WSDL的操作类型主要有几种
2013/07/19 面试题
实习教师自我鉴定
2013/09/27 职场文书
校园达人秀策划书
2014/01/12 职场文书
学生会干部自荐信
2014/02/04 职场文书
致垒球运动员加油稿
2014/02/16 职场文书
酒店值班经理的工作职责范本
2014/02/18 职场文书
小区消防演习方案
2014/02/21 职场文书
幼儿园三八妇女节活动方案
2014/03/11 职场文书
私人会所最新创业计划书范文
2014/03/24 职场文书
买卖合同协议书范本
2014/10/18 职场文书
五四青年节比赛演讲稿
2015/03/18 职场文书
2016暑期政治学习心得体会
2016/01/23 职场文书
如何用JavaScript实现一个数组惰性求值库
2021/05/05 Javascript
Java中的Kafka为什么性能这么快及4大核心详析
2022/09/23 Java/Android