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

时间:2022-07-27
本文章向大家介绍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;
}