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新手上路(十)
Oct 09 PHP
php模板之Phpbean的目录结构
Jan 10 PHP
php一句话cmdshell新型 (非一句话木马)
Apr 18 PHP
PHP性能优化工具篇Benchmark类调试执行时间
Dec 06 PHP
PHP判断文件是否存在、是否可读、目录是否存在的代码
Oct 03 PHP
PHP的pcntl多进程用法实例
Mar 19 PHP
php获取json数据所有的节点路径
May 17 PHP
PHP之图片上传类实例代码(加了缩略图)
Jun 30 PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
Dec 12 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
Jan 19 PHP
php实现支持中文的文件下载功能示例
Aug 30 PHP
PhpStorm连接服务器并实现自动上传功能
Dec 09 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字符转义相关函数小结(php下的转义字符串)
2007/04/12 PHP
PHP系列学习之日期函数使用介绍
2012/08/18 PHP
php获取用户浏览器版本的方法
2015/01/03 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
javascript DOM编程实例(智播客学习)
2009/11/23 Javascript
jQuery基于json与cookie实现购物车的方法
2016/04/15 Javascript
学习Bootstrap滚动监听 附调用方法
2016/07/02 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
2016/11/29 Javascript
原生js jquery ajax请求以及jsonp的调用方法
2017/08/04 jQuery
Vue项目中quill-editor带样式编辑器的使用方法
2017/08/08 Javascript
原生JS实现移动端web轮播图详解(结合Tween算法造轮子)
2017/09/10 Javascript
Nuxt.js开启SSR渲染的教程详解
2018/11/30 Javascript
Vuex实现简单购物车
2021/01/10 Vue.js
Python计算程序运行时间的方法
2014/12/13 Python
python去除所有html标签的方法
2015/05/05 Python
python实现自动更换ip的方法
2015/05/05 Python
Python 含参构造函数实例详解
2017/05/25 Python
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
2017/07/20 Python
Python读取视频的两种方法(imageio和cv2)
2018/04/15 Python
让Django支持Sql Server作后端数据库的方法
2018/05/29 Python
彻彻底底地理解Python中的编码问题
2018/10/15 Python
PyQt5实现五子棋游戏(人机对弈)
2020/03/24 Python
学习和使用python的13个理由
2019/07/30 Python
python opencv将表格图片按照表格框线分割和识别
2019/10/30 Python
美国伊甸园兄弟种子公司:Eden Brothers
2018/07/01 全球购物
New Balance法国官方网站:购买鞋子和服装
2019/09/01 全球购物
Prototype如何更新局部页面
2013/03/03 面试题
银行党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
安阳殷墟导游词
2015/02/10 职场文书
微观世界观后感
2015/06/10 职场文书
表彰大会新闻稿
2015/07/17 职场文书
2015年政教主任工作总结
2015/07/23 职场文书
三十年同学聚会致辞
2015/07/28 职场文书
《秦兵马俑》教学反思
2016/02/24 职场文书
Nginx下配置Https证书详细过程
2021/04/01 Servers
什么是SOLID
2022/03/24 Javascript