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 文件上传进度条的两种实现方法的代码
Nov 25 PHP
支持中文字母数字、自定义字体php验证码代码
Feb 27 PHP
apache mysql php 源码编译使用方法
May 03 PHP
如何判断php数组的维度
Jun 10 PHP
深入php中var_dump方法的使用详解
Jun 24 PHP
php增删改查示例自己写的demo
Sep 04 PHP
使用swoole扩展php websocket示例
Feb 13 PHP
Zend Framework入门知识点小结
Mar 19 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
Mar 04 PHP
详谈phpAdmin修改密码后拒绝访问的问题
Apr 03 PHP
老生常谈PHP面向对象之命令模式(必看篇)
May 24 PHP
关于laravel后台模板laravel-admin select框的使用详解
Oct 03 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_EOL变量的使用)
2013/02/16 PHP
PHP里的单例类写法实例
2015/06/25 PHP
PHP数据对象映射模式实例分析
2019/03/29 PHP
jQuery EasyUI API 中文文档 - ComboBox组合框
2011/10/07 Javascript
JavaScript中使用构造器创建对象无需new的情况说明
2012/03/01 Javascript
jquery 插件学习(三)
2012/08/06 Javascript
jquery append()方法与html()方法的区别及使用介绍
2014/08/01 Javascript
IE中getElementsByName()对有些元素无效的解决方案
2014/09/28 Javascript
Javascript中的方法链(Method Chaining)介绍
2015/03/15 Javascript
jQuery取得iframe中元素的常用方法详解
2016/01/14 Javascript
AngularJS指令详解及示例代码
2016/08/16 Javascript
JQuery Ajax 异步操作之动态添加节点功能
2017/05/24 jQuery
javascript将list转换成树状结构的实例
2017/09/08 Javascript
9种改善AngularJS性能的方法
2017/11/28 Javascript
基于vue-ssr的静态网站生成器VuePress 初体验
2018/04/17 Javascript
Node.js原生api搭建web服务器的方法步骤
2019/02/15 Javascript
js实现贪吃蛇小游戏
2019/10/29 Javascript
echarts实现折线图的拖拽效果
2019/12/19 Javascript
SpringBoot在yml配置文件中配置druid的操作
2020/11/16 Javascript
[01:33]一分钟玩转DOTA2第三弹:DOTA2&DotA快捷操作大对比
2014/06/04 DOTA
python爬取51job中hr的邮箱
2016/05/14 Python
matplotlib绘制符合论文要求的图片实例(必看篇)
2017/06/02 Python
windows下Python实现将pdf文件转化为png格式图片的方法
2017/07/21 Python
Python之修改图片像素值的方法
2019/07/03 Python
Numpy数组array和矩阵matrix转换方法
2019/08/05 Python
python 画函数曲线示例
2019/12/04 Python
Python垃圾回收机制三种实现方法
2020/04/27 Python
财务管理专业应届毕业生求职信
2013/09/22 职场文书
安踏广告词改编版
2014/03/21 职场文书
乡村文明行动实施方案
2014/03/29 职场文书
我有一个梦想演讲稿
2014/05/05 职场文书
执法作风整顿剖析材料
2014/10/11 职场文书
医生辞职信范文
2015/03/02 职场文书
中小企业员工手册范本
2015/05/14 职场文书
Spring Security使用单点登录的权限功能
2022/04/03 Java/Android
Redis Lua脚本实现ip限流示例
2022/07/15 Redis