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 相关文章推荐
4.与数据库的连接
Oct 09 PHP
社区(php&amp;&amp;mysql)五
Oct 09 PHP
dede全站URL静态化改造[070414更正]
Apr 17 PHP
destoon利用Rewrite规则设置网站安全
Jun 21 PHP
分享一个php 的异常处理程序
Jun 22 PHP
php实现encode64编码类实例
Mar 24 PHP
php实现文件上传及头像预览功能
Jan 15 PHP
php 截取中英文混合字符串的方法
May 31 PHP
php中如何执行linux命令详解
Nov 06 PHP
PHP单元测试配置与使用方法详解
Dec 27 PHP
Yii框架安装简明教程
May 15 PHP
phpquery中文手册
Mar 18 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 移除数组重复元素的一点说明
2008/11/27 PHP
php实现指定字符串中查找子字符串的方法
2015/03/17 PHP
深入理解PHP内核(一)
2015/11/10 PHP
对比分析php中Cookie与Session的异同
2016/02/19 PHP
JavaScript 参考教程
2006/12/29 Javascript
js 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
2009/04/10 Javascript
js loading加载效果实现代码
2009/11/24 Javascript
用jQuery模拟页面加载进度条的实现代码
2011/12/19 Javascript
select标记美化--JS式插件、后期加载
2013/04/01 Javascript
JavaScript实现动态创建CSS样式规则方案
2014/09/06 Javascript
javascript中HTMLDOM操作详解
2014/12/11 Javascript
JS简单实现动画弹出层效果
2015/05/05 Javascript
AngularJS入门教程之ng-checked 指令详解
2016/08/01 Javascript
Angular获取手机验证码实现移动端登录注册功能
2017/05/17 Javascript
JS简单实现数组去重的方法分析
2017/10/14 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
2018/10/10 jQuery
VUE-cli3使用 svg-sprite-loader
2018/10/20 Javascript
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
2019/04/26 Javascript
layui 数据表格 根据值(1=业务,2=机构)显示中文名称示例
2019/10/26 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
详解Python3.1版本带来的核心变化
2015/04/07 Python
Python计时相关操作详解【time,datetime】
2017/05/26 Python
对python3标准库httpclient的使用详解
2018/12/18 Python
python实现基于朴素贝叶斯的垃圾分类算法
2019/07/09 Python
Python 共享变量加锁、释放详解
2019/08/28 Python
Python sql注入 过滤字符串的非法字符实例
2020/04/03 Python
keras的load_model实现加载含有参数的自定义模型
2020/06/22 Python
福克斯租车:Fox Rent A Car
2017/04/13 全球购物
Expedia印度:您的一站式在线旅游网站
2017/08/24 全球购物
世界顶级足球门票网站:Live Football Tickets
2017/10/14 全球购物
几道数据库的面试题或笔试题
2014/05/31 面试题
质量负责人任命书
2014/06/06 职场文书
十佳党员事迹材料
2014/08/28 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS