欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-08 20:11:15
题目 输入一个链表,从尾到头打印链表每个节点的值。 题解 一种是使用栈。 第二种是递归。 代码 //递归版本 function pr...

题目

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

题解

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

代码

//递归版本
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;
}