PHP从尾到头打印链表实例讲解

yipeiwu_com7年前PHP代码库

题目

输入一个链表,从尾到头打印链表每个节点的值。

题解

一种是使用栈。
第二种是递归。

代码

//递归版本
function printListFromTailToHead($head)
{
  if($head == NULL){
    return [];
  }

  $arr = array();
  $cur = $head;

  if($cur->next != null){
    $arr = printListFromTailToHead($cur->next);  
  }
  array_push($arr, $cur->val);
  return $arr;



}
//非递归版本
function printListFromTailToHead($head)
{
  if($head == NULL){
    return [];
  }

  $cur = $head;
  $arr = array();
  $re = array();

  while($cur != NULL){
    array_push($arr, $cur->val);
    $cur = $cur ->next;
  }


  while(!empty($arr)){
    $tmp = array_pop($arr);
    array_push($re, $tmp);
  }
  return $re;
}

相关文章

PHP技术开发技巧分享

1. 提高PHP的运行效率   PHP的优点之一是速度很快,对于一般的网站应用,可以说是已经足够了。不过如果站点的访问量很高、带宽窄或者其它的因素令服务器产生性能瓶颈的时候,你可能得想想...

PHP中使用curl伪造IP的简单方法

curl简介: curl是一个利用URL语法在命令行方式下工作的文件传输工具。它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT,...

学习php设计模式 php实现命令模式(command)

学习php设计模式 php实现命令模式(command)

一、意图 将一个请求封装为一个对象,从而使用你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。 可变的方面是:何时,怎样满足一个请求 命令模式是对命令的封...

PHP操作MongoDB实现增删改查功能【附php7操作MongoDB方法】

本文实例讲述了PHP操作MongoDB实现增删改查功能。分享给大家供大家参考,具体如下: MongoDB的PHP驱动提供了一些核心类来操作MongoDB,总的来说MongoDB命令行中有...

phpQuery占用内存过多的处理方法

phpQuery是一个用php实现的类似jQuery的开源项目,可以在服务器端以jQuery的语法形式解析网页元素。 相对于正则或其它方式匹配网页方式,phpQuery使用起来要方便的多...