php教程

超轻量级php框架startmvc

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

更新时间:2020-03-30 12:18:54 作者:startmvc
题目输入一个链表,从尾到头打印链表每个节点的值。题解一种是使用栈。第二种是递归。

题目

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

题解

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

代码


//递归版本
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 链表