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如何透过ODBC来存取数据库
Oct 09 PHP
删除及到期域名的查看(抢域名必备哦)
May 14 PHP
ecshop 订单确认中显示省市地址信息的方法
Mar 15 PHP
PHP通过正则表达式下载图片到本地的实现代码
Sep 19 PHP
简单的方法让你的后台登录更加安全(php中加session验证)
Aug 22 PHP
php 常用算法和时间复杂度
Jul 01 PHP
php使用多个进程同时控制文件读写示例
Feb 28 PHP
简单分析ucenter 会员同步登录通信原理
Aug 25 PHP
PHP中error_log()函数的使用方法
Jan 20 PHP
php从完整文件路径中分离文件目录和文件名的方法
Mar 13 PHP
php给图片添加文字水印方法汇总
Aug 27 PHP
php实现连接access数据库并转txt写入的方法
Feb 08 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
完美解决thinkphp验证码出错无法显示的方法
2014/12/09 PHP
php绘图之加载外部图片的方法
2015/01/24 PHP
PHP+redis实现添加处理投票的方法
2015/11/14 PHP
php阿拉伯数字转中文人民币大写
2015/12/21 PHP
Ubuntu上安装yaf扩展的方法
2018/01/29 PHP
滚动经典最新话题[prototype框架]下编写
2006/10/03 Javascript
Exitjs获取DataView中图片文件名
2009/11/26 Javascript
JSQL 批量图片切换的实现代码
2010/05/05 Javascript
eval与window.eval的差别分析
2011/03/17 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
详解JavaScript函数对象
2015/11/15 Javascript
浅析Ajax语法
2016/12/05 Javascript
Bootstrap整体框架之JavaScript插件架构
2016/12/15 Javascript
JS实现unicode和UTF-8之间的互相转换互转
2017/07/05 Javascript
Vue组件之自定义事件的功能图解
2018/02/01 Javascript
jQuery实现鼠标移入显示蒙版效果
2020/01/11 jQuery
JavaScript检测是否开启了控制台(F12调试工具)
2020/10/02 Javascript
vue实现两个区域滚动条同步滚动
2020/12/13 Vue.js
[52:52]完美世界DOTA2联赛PWL S3 LBZS vs access 第一场 12.10
2020/12/13 DOTA
Python SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
2014/05/06 Python
Python与Redis的连接教程
2015/04/22 Python
Django查询数据库的性能优化示例代码
2017/09/24 Python
解决pandas无法在pycharm中使用plot()方法显示图像的问题
2018/05/24 Python
Python面向对象之类的内置attr属性示例
2018/12/14 Python
flask框架单元测试原理与用法实例分析
2019/07/23 Python
用CSS3将你的设计带入下个高度
2009/08/08 HTML / CSS
HTML5 HTMLCollection和NodeList的区别详解
2020/04/29 HTML / CSS
Juice Beauty官网:有机美容产品,护肤与化妆品
2020/06/13 全球购物
你所在的项目是如何确定版本号的
2015/12/28 面试题
体育比赛口号
2014/06/09 职场文书
产品陈列协议书(标准版)
2014/09/17 职场文书
2014年高中教师工作总结
2014/12/19 职场文书
顶岗实习计划书
2015/01/16 职场文书
拾金不昧感谢信范文
2015/01/21 职场文书
元旦晚会开场白
2015/05/29 职场文书
全新239军机修复记
2022/04/05 无线电