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服务器实现多session并发运行
Oct 09 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
Oct 24 PHP
php+highchats生成动态统计图
May 21 PHP
PHP根据图片色界在不同位置加水印的方法
Jul 01 PHP
php将金额数字转化为中文大写
Jul 09 PHP
HTML中嵌入PHP的简单方法
Feb 16 PHP
php实现按天数、星期、月份查询的搜索框
May 02 PHP
一段实用的php验证码函数
May 19 PHP
php 伪造HTTP_REFERER页面URL来源的三种方法
Sep 22 PHP
php实现微信支付之企业付款
May 30 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
Jun 13 PHP
tp5.1 框架join方法用法实例分析
May 26 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一些十分严重的缺陷详解
2013/06/03 PHP
dedecms中使用php语句指南
2014/11/13 PHP
php使用curl通过代理获取数据的实现方法
2016/05/16 PHP
PHP简单实现欧拉函数Euler功能示例
2017/11/06 PHP
PHP正则匹配到2个字符串之间的内容方法
2018/12/24 PHP
php7 新增功能实例总结
2020/05/25 PHP
js 操作select和option常用代码整理
2012/12/13 Javascript
AngularJS优雅的自定义指令
2016/07/01 Javascript
js实现下拉框效果(select)
2017/03/28 Javascript
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
2017/05/15 jQuery
JavaScript禁止微信浏览器下拉回弹效果
2017/05/16 Javascript
react-router中的属性详解
2017/06/01 Javascript
微信小程序组件之srcoll-view的详解
2017/10/19 Javascript
浅析Angular 实现一个repeat指令的方法
2019/07/21 Javascript
Vue CLI3移动端适配(px2rem或postcss-plugin-px2rem)
2020/04/27 Javascript
JavaScript this指向相关原理及实例解析
2020/07/10 Javascript
python模拟登录百度代码分享(获取百度贴吧等级)
2013/12/27 Python
Python获取单个程序CPU使用情况趋势图
2015/03/10 Python
Python实现网站注册验证码生成类
2017/06/08 Python
matplotlib在python上绘制3D散点图实例详解
2017/12/09 Python
python logging日志模块以及多进程日志详解
2018/04/18 Python
tensorflow实现简单逻辑回归
2018/09/07 Python
python爬虫之爬取百度音乐的实现方法
2019/08/24 Python
基于keras输出中间层结果的2种实现方式
2020/01/24 Python
使用jupyter Nodebook查看函数或方法的参数以及使用情况
2020/04/14 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
2021/01/19 Python
LINUX下线程,GDI类的解释
2016/12/14 面试题
银行职业规划书范文
2013/12/28 职场文书
中专生职业生涯规划书范文
2013/12/29 职场文书
大学生职业生涯规划书模版
2013/12/30 职场文书
小学生中国梦演讲稿
2014/04/23 职场文书
盲山观后感
2015/06/11 职场文书
2016思想纪律作风整顿心得体会
2016/01/23 职场文书
高考要来啦!用Python爬取历年高考数据并分析
2021/06/03 Python
Spring整合Mybatis的全过程
2021/06/28 Java/Android
利用Matlab绘制各类特殊图形的实例代码
2021/07/16 Python