以下是我的实现代码(我只是打印出了每个节点):

/**

* Question:输入一个链表的头节点,反向打印链表节点

* Author:entner

* time: 2017-7-21

* version:1.0

*/

/**

*Thinking:

* 遍历链表节点,将访问到的节点压入栈中,然后输出栈元素

*Ready:

* (节点类 链表游标 随机数)-> 创建一个链表

*

*/

/**

*TODO:创建节点类

*@param $nodeName string 节点名称

*@param $next object 下一节点

*/

Class Node{

public $nodeName;

public $next;

public function __construct($nodename = null,$next = null){

$this->nodeName = $nodename;

$this->next = $next;

}

}

Class SingeLinkList{

public $header;

public $stack = [];

public $top = -1;

public $newNode;

function createNode($n){

/* 声明一个头节点 */

$this->header = new Node(null,null);

$head = $this->header;

for($i=0;$i

/* 创建新的节点 */

$this->newNode = new Node(rand(0,100),null);

$current = $this->newNode;

/* 将新节点压入栈中 */

$this->top++;

$this->stack[$this->top] = $current; //这里没有做栈的限制

/* 节点名称赋值 */

$head->nodeName = $current->nodeName;

/* 当前节点为新节点 */

$head->next = $current;

/* 将当前节点设置为新的尾节点 */

$head = $current;

}

$head->next = null;

if($head->next == null){

while($this->top != -1){

print_r($this->stack[$this->top]);

$this->top--;

}

}

}

}

echo "

";

(new SingeLinkList)->createNode(4);

打印结果如下:

Node Object

(

[nodeName] => 15

[next] =>

)

Node Object

(

[nodeName] => 15

[next] => Node Object

(

[nodeName] => 15

[next] =>

)

)

Node Object

(

[nodeName] => 10

[next] => Node Object

(

[nodeName] => 15

[next] => Node Object

(

[nodeName] => 15

[next] =>

)

)

)

Node Object

(

[nodeName] => 93

[next] => Node Object

(

[nodeName] => 10

[next] => Node Object

(

[nodeName] => 15

[next] => Node Object

(

[nodeName] => 15

[next] =>

)

)

)

)

应该说,我只需要第四个结果就够了,为什么会出现递归的现象,我没有利用递归,而且我也不知道这样是不是对的,求指点。

P.S 这个题目和反转链表有什么区别?

php打印从1到1000,输入一个链表的头节点,从尾到头打印每个节点的值,利用PHP如何实现?...相关推荐

  1. 反转链表:输入一个链表的头结点,反转该链表并输出反转后的链表的头结点。...

    2019独角兽企业重金招聘Python工程师标准>>> 题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后的链表的头结点.     为了正确的反转一个链表,需要调整链表 ...

  2. 【LeetCode 剑指offer 06】输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。

    学习目标: 目标:熟练运用Java数据结构知识 学习内容: 本文内容:使用Java实现:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 文章目录 学习目标: 学习内容: 题目描述 ...

  3. 在不改变链表的情况下从尾到头打印连表

    输入一个连表的头结点,从尾到头反过来打印出每个结点的值. C#语言实现: public static void PrintRev(LinkedList<int> lList){Stack& ...

  4. 剑指offer:面试题06. 从尾到头打印链表

    题目:从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表长度 & ...

  5. 【剑指Offer专题】链表系列:从尾到头打印链表、反转链表、回文链表、合并两个排序的链表(C++和Python实现)...

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 剑指Offer(三):从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每 ...

  6. 《LeetCode力扣练习》剑指 Offer 06. 从尾到头打印链表 Java

    <LeetCode力扣练习>剑指 Offer 06. 从尾到头打印链表 Java 一.资源 题目: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入: ...

  7. java从尾到头打印链表数据_Java编程实现从尾到头打印链表代码实例

    问题描述:输入一个链表的头结点,从尾巴到头反过来打印出每个结点的值. 首先定义链表结点 public class ListNode { int val; ListNode next = null; L ...

  8. python 从尾到头打印链表

    从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每个节点的值 (用数组返回).示例 1:输入:head = [1,3,2] 输出:[2,3,1] 提供三种题解 # Definition fo ...

  9. 剑指Offer面试题:4.从尾到头打印链表

    一 题目:从尾到头打印链表 题目:输入一个链表的头结点,从尾到头反过来打印每个结点的值. 代码实现 采用两种方法实现: (1) 不修改原列表,使用stack的方式实现 (2)修改原列表,对元列表逆序 ...

最新文章

  1. python代码计算图像的分辨率
  2. C语言改造二分法(Modified Binary Search)算法(附完整源码)
  3. python参数化_Python 中如何实现参数化测试的方法示例
  4. 【华为云技术分享】听说,AI界奔涌的后浪都相聚在这里
  5. 联想拯救者y空间_ThinkPad X1 Nano上市;联想拯救者R9000X、Y9000X发布
  6. python 保存文件 吃内存_python检测空间储存剩余大小和指定文件夹内存占用的实例...
  7. zjoi2018day1 游记
  8. Html5判断手机型号,WebView-修改userAgent用于网页端判断手机型号
  9. ppt加载html5,当PPT遇见H5,这才是真爱!
  10. 2021 编程语言排行榜出炉
  11. CentOS 安装NTFS-3G,支持NTFS分区的方法
  12. http请求 405错误 方法不被允许 (Method not allowed)
  13. 关于165的(ORCAP-1192)
  14. C陷阱篇之char的默认符号
  15. Symbian OS 精要
  16. linux面试大全最新
  17. 外贸人应该灵活运用的“套路”
  18. 浙大29岁“粉色系”博导获百万大奖:希望做好学生的导师而不是“老板”
  19. 著名C9院校!接连发表5篇Nature/Cell!
  20. 为什么Precision高Recall就低——F1 score

热门文章

  1. RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占优势
  2. 用vue-scroller做上拉刷新,下拉加载的模板(简单明了,通用)
  3. Linux下connect超时处理
  4. 电话号码 【trie树】
  5. CSS的一些基础知识
  6. c#万能视频播放器 (转)
  7. WPF的消息机制(三)- WPF内部的5个窗口之处理激活和关闭的消息窗口以及系统资源通知窗口...
  8. 2010 ACM/ICPC Online-Contest-SCU[四川赛区网络预选赛]
  9. 设计模式学习3——装饰者模式(Decorator)
  10. Docker----在Docker中部署Asp.net core2.1以及修改发布