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;
}

相关文章

基于OpenCV的PHP图像人脸识别技术

openCV是一个开源的用C/C++开发的计算机图形图像库,非常强大,研究资料很齐全。本文重点是介绍如何使用php来调用其中的局部的功能。人脸侦查技术只是openCV一个应用分支。 1....

浅谈php安全性需要注意的几点事项

在放假之初,我抽时间看了《白帽子讲web安全》,吴翰清基本上把web安全中所有能够遇到的问题、解决思路归纳总结得很清晰,也是我这一次整体代码安全性的基石。 我希望能分如下几个方面来分享自...

php 数组的一个悲剧?

复制代码 代码如下: $a=1; $b=2; $t = array( array('a', 'string', $field['a']), // 名称 if($a==$b){array(...

PHP设计模式之委托模式定义与用法简单示例

本文实例讲述了PHP设计模式之委托模式定义与用法。分享给大家供大家参考,具体如下: 委托模式: 通过分配或委托至其他对象,委托设计模式能够去除核心对象中的判决和复杂的功能性。 cla...

php防止sql注入简单分析

本文实例分析了php防止sql注入简单方法。分享给大家供大家参考。具体如下: 这里只说一个简单的方法 防止Sql注入的方法有很多,这里要说的其实就是漏洞演练平台Dvwa里的一种方式 直接...