Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PHP从尾到头打印链表实例讲解

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

作者头像
子润先生
修改于 2021-07-13 03:45:05
修改于 2021-07-13 03:45:05
6360
举报

题目

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

题解

/

/

一种是使用栈。

第二种是递归。

代码

//递归版本

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 = ar/

/ray();

while($cur != NULL){

array_push($arr, $cur->val);

$cur = $cur ->next;

}

while(!empty($arr)){

$tmp = array_pop($arr);

array_push($re, $tmp);

}

return $re;

}

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
《剑指offer》05: 从尾到头打印链表
遍历链表,每个链表结点值 push 进栈,最后将栈中元素依次 pop 到 list 中。
程序员小浩
2020/08/10
2900
图解剑指 offer 第三题: 从尾到头打印链表
初看题目意思就是输出的时候链表尾部的元素放在前面,链表头部的元素放在后面。这不就是 先进后出,后进先出 么。
五分钟学算法
2019/03/14
7840
图解剑指 offer 第三题: 从尾到头打印链表
每日一题《剑指offer》链表篇之从尾到头打印链表
方法一:递归(推荐使用) 我们都知道链表无法逆序访问,那肯定无法直接遍历链表得到从尾到头的逆序结果。但是我们都知道递归是到达底层后才会往上回溯,因此我们可以考虑递归遍历链表,因此三段式如下:
终有救赎
2023/12/14
1770
每日一题《剑指offer》链表篇之从尾到头打印链表
从尾到头打印链表
要逆序打印链表 1->2->3(3,2,1),可以先逆序打印链表 2->3(3,2),最后再打印第一个节点 1。而链表 2->3 可以看成一个新的链表,要逆序打印该链表可以继续使用求解函数,也就是在求解函数中调用自己,这就是递归函数。
MickyInvQ
2021/12/07
4880
从尾到头打印链表
剑指Offer(三)--从尾到头打印链表
先把元素里面的元素从头到尾遍历取出放在栈里面,然后再把栈的元素去出来放在ArraList里面。主要利用了栈的先进后出的规则,这样就可以实现倒序的功能。show you the code:
秦怀杂货店
2022/02/15
1950
剑指Offer(三)--从尾到头打印链表
C++版 - 剑指offer 面试题5:从尾到头打印链表 题解
-面试题5:从尾到头打印链表 提交网址: http://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035?tpId=13&tqId
Enjoy233
2019/03/05
3940
剑指Offer的学习笔记(C#篇)-- 从尾到头打印链表
这个题目搞了一段时间,因为解法好多,比如:是用递归法呢还是循环呢,要不要使用栈呢等等.. 所以,每一种想法都写一下吧,还有一点点的小细节什么的。
WeiMLing
2019/08/23
4740
【剑指Offer】6. 从尾到头打印链表
要逆序打印链表 1->2->3(3,2,1),可以先逆序打印链表 2->3(3,2),最后再打印第一个节点 1。而链表 2->3 可以看成一个新的链表,要逆序打印该链表可以继续使用求解函数,也就是在求解函数中调用自己,这就是递归函数。
瑞新
2020/12/07
2730
【剑指offer】从尾到头打印链表
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
喜欢ctrl的cxk
2019/11/08
2980
一道打印链表的题我写了几种方法
阿粉相信大家对链表都非常的熟悉,而阿粉最近面试的时候,就遇到了一个一个面试官,在面试的过程中,面试官给阿粉出了一个比较好玩的问题,让阿粉提供多种实现方式来进行实现,得亏阿粉之前看了(背了)好多的面试题,于是阿粉就开始了自己的表演。
Java极客技术
2022/12/02
3670
【剑指offer|4.从尾到头打印单链表】
下面这种先把链表节点的值按链表序放到数组中,然后来一个算法库中的reverse属实有点流氓!不可取!
MicroFrank
2023/04/09
2090
【剑指offer|4.从尾到头打印单链表】
剑指offer--从尾到头打印链表
输入一个链表,从尾到头打印链表每个节点的值。 ---- 思路: 遍历整个链表,依次入栈。遍历结束后,再一次出栈即可。 ---- Java代码如下: import java.util.ArrayList; import java.util.Stack; class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val;
AI那点小事
2020/04/18
1710
[剑指offer] 从尾到头打印链表
一种方法是利用栈来实现; 另外一种方法是利用三个指针把链表反转,关键是 r 指针保存断开的节点。
尾尾部落
2018/09/04
6660
[剑指offer] 从尾到头打印链表
链表算法面试问题?看我就够了!
单链表的操作算法是笔试面试中较为常见的题目。本文将着重介绍平时面试中常见的关于链表的应用题目。
五分钟学算法
2019/03/14
1.1K0
链表算法面试问题?看我就够了!
剑指Offer-从尾到头打印链表
package LinkedList; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Deque; /** * 输入一个链表,从尾到头打印链表每个节点的值。 */ public class Solution10 { /** * 从尾到头打印,很明显先进后出,利用栈,栈先进后出 * * @param listNode * @return
武培轩
2018/04/18
6230
【数据结构】链表 & 树,你也被绕晕了?不妨来这看看
快慢指针法: 快指针和慢指针初始时指向头节点,当快指针指向和快指针指向节点内的next指针不为空时,快指针一次走两步,慢指针一次走一步,快指针入环后走N圈后慢指针入环,当快指针和慢指针相等时说明存在环,如果出循环则说明不存在环。
_小羊_
2025/04/05
660
【数据结构】链表 & 树,你也被绕晕了?不妨来这看看
【剑指offer】3.从尾到头打印链表
要遍历链表就是不断找到当前节点的next节点,当next节点是null时,说明是最后一个节点,停止遍历。
ConardLi
2019/09/08
2730
剑指Offer总结——从尾到头打印链表
class Solution { public: vector<int> printListFromTailToHead(ListNode* head) { if(head == nullptr) { return {}; } vector<int> res; helper(res, head); return res; } void helper(vector<int>& res
太阳影的社区
2021/10/15
2200
C++穿梭树影间的智慧博弈:二叉搜索树OJ
观察示例可以知道,无论是左为空还是左为不为空,都要添加括号,所以直接递归下去,右分支则可以根据情况省略括号
DARLING Zero two
2025/04/26
880
C++穿梭树影间的智慧博弈:二叉搜索树OJ
LeetCode 426. 将二叉搜索树转化为排序的双向链表(BST中序循环遍历)
对于双向循环列表,你可以将左右孩子指针作为双向循环链表的前驱和后继指针,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节点。
Michael阿明
2020/07/13
1.2K0
推荐阅读
相关推荐
《剑指offer》05: 从尾到头打印链表
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档