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 时间转换Unix时间戳代码

复制代码 代码如下:<?php date_default_timezone_set('Asia/Chongqing'); $time1 = "2006-04-16 08:40:54...

php数组合并与拆分实例分析

本文实例讲述了php数组合并与拆分的方法。分享给大家供大家参考。具体如下: <?php $array1 = array("A","B","C","D"); $arr...

Php图像处理类代码分享

目前只实现了三个功能:1:图片缩放,2:图片裁剪,3:加图片水印 在实例化中,通过给第二个参数传不同的值,从而实现不同的功能 复制代码 代码如下: <?php include "i...

php addslashes 利用递归实现使用反斜线引用字符串

实现代码:复制代码 代码如下:<?phpfunction addslashes_deep($value){//史上最经典的递归,一行搞定return is_array($value...

PHP连接sql server 2005环境配置及问题解决

一、Windows下PHP连接SQLServer 2005 设定:安装的Windows操作系统(Win7 或XP均可,其他系统暂未测试),在C盘下;PHP的相关文件位于c:/PHP下面,...