PHP实现合并两个排序链表的方法

 更新时间:2018年01月19日 08:57:50   作者:重口味AC  
这篇文章主要介绍了PHP实现合并两个排序链表的方法,涉及php针对链表的遍历、判断、排序等相关操作技巧,需要的朋友可以参考下

本文实例讲述了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程序设计算法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》及《PHP数学运算技巧总结

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • php中json_decode()和json_encode()的使用方法

    php中json_decode()和json_encode()的使用方法

    json_decode对JSON格式的字符串进行编码而json_encode对变量进行 JSON 编码,需要的朋友可以参考下
    2012-06-06
  • php创建、获取cookie及基础要点分析

    php创建、获取cookie及基础要点分析

    这篇文章主要介绍了php创建、获取cookie及基础要点,实例分析了php操作cookie的技巧,需要的朋友可以参考下
    2015-01-01
  • 解析php中的escape函数

    解析php中的escape函数

    本篇文章是对php中的escape函数进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php基于 swoole 实现的异步处理任务功能示例

    php基于 swoole 实现的异步处理任务功能示例

    这篇文章主要介绍了php基于 swoole 实现的异步处理任务功能,涉及swoole的安装、配置及php调用swoole守护进程监控任务相关实现技巧,需要的朋友可以参考下
    2019-08-08
  • PHP7中新添特性整理

    PHP7中新添特性整理

    在本篇文章里小编给大家整理的是一篇关于PHP7中新添特性的相关内容,对此有兴趣的朋友们可以学习参考下。
    2021-02-02
  • 七款最流行的PHP本地服务器分享

    七款最流行的PHP本地服务器分享

    文章介绍了7个最常用的PHP本地服务器,一般来说,本地的PHP平台分为两种,一种是LAMP,即为Linux+Apache+MySql+PHP;另一种是WAMP,它是Windows+Apache+MySql+PHP,而前者一般优秀于后者。当然,本文将主要针对WAMP平台上
    2013-02-02
  • PHP 开发环境配置(Zend Server安装)

    PHP 开发环境配置(Zend Server安装)

    运行安装文件(ZendServer-CE-php-5.3.2-5.0.1-Windows_x86.exe)开始安装,选项请参照我的选择。
    2010-04-04
  • ThinkPHP php 框架学习笔记

    ThinkPHP php 框架学习笔记

    花了两个多钟在看 ThinkPHP 框架,不想太过深入的知道它的所有高深理论。单纯想知道怎么可以用起来,可以快捷的搭建一个网站。所以是有选择的看,二个钟后还是一头雾水。于是决定改变学习策略,上官方论坛看其它高人写的民间教程,果然比官方的通俗易懂多了。
    2009-10-10
  • PHP使用PDO、mysqli扩展实现与数据库交互操作详解

    PHP使用PDO、mysqli扩展实现与数据库交互操作详解

    这篇文章主要介绍了PHP使用PDO、mysqli扩展实现与数据库交互操作,结合实例形式分析了PHP基于pdo和mysqli操作数据的相关使用技巧,需要的朋友可以参考下
    2019-07-07
  • FCKeditor的安装(PHP)

    FCKeditor的安装(PHP)

    FCKeditor的安装(PHP)...
    2007-01-01

最新评论