• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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数组和链表的区别总结
    • PHP实现链表的定义与反转功能示例
    • PHP双向链表定义与用法示例
    • php数据结构之顺序链表与链式线性表示例
    • php数组指针操作详解
    • php each 返回数组中当前的键值对并将数组指针向前移动一步实例
    • PHP7生产环境队列Beanstalkd用法详解
    • php使用redis的有序集合zset实现延迟队列应用示例
    • php+redis实现消息队列功能示例
    • PHP如何通过带尾指针的链表实现''队列''
    上一篇:php利用ob_start()清除输出和选择性输出的方法
    下一篇:php实现的mongoDB单例模式操作类
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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