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

yipeiwu_com6年前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面向对象继承用法详解(优化与减少代码重复)

本文实例讲述了PHP面向对象继承用法。分享给大家供大家参考,具体如下: 继承 先看两个类 <?php class CdProduct { public $playL...

php注册系统和使用Xajax即时验证用户名是否被占用

php注册系统和使用Xajax即时验证用户名是否被占用

在php中使用Xajax能够即时与数据库发生交互 带给用户更好的体验 主要的应用有网页的即时、不刷新的登录系统 也可以利用于注册系统中 即时验证用户名是否被占用 一、基本目标 首先在...

php无序树实现方法

php无序树实现方法

本文实例讲述了php无序树实现方法。分享给大家供大家参考。具体如下: 运行效果如下图所示: php代码如下: <?php /* 用php写的无序树 */ cla...

php 基础函数

话不多说,如下所示: <?php //生成随机数 和 时间函数 //echo rand(); //echo "<br>"; //echo rand(0,10...

php curl 上传文件代码实例

假设server端上传文件处理脚本upload.php: 复制代码 代码如下: <?php    print_r($_POST);  p...