输入一个链表的头结点,从尾到头反过来打印每个结点的值。

C++版本

struct ListNode
{int m_nKey;ListNode* m_pNext;
};

方法1 使用栈的先进后出,将每个结点存入到栈中,然后输出。

#include<iostream>
#include<stack>struct ListNode
{int m_nKey;ListNode* m_pNext;
};void PrintListReversingly_Iteratively(ListNode* pHead)
{std::stack<ListNode*> nodes;ListNode* pNode = pHead;while (pNode != NULL){nodes.push(pNode);pNode = pNode->m_nKey;}while (!nodes.empty()){pNode = nodes.top();printf("%d\t", pNode->m_nKey);nodes.pop();}}

方法2

//递归本质上是一个栈结构,可以用递归实现,每访问到一个结点的时候,先递归输出它后面的结点,
//在输出结点本身,这样链表的输出结果就反过来了。

void PrintListReversingly_Recuesively(ListNode* pHead)
{if (pHead != NULL){if (pHead->m_pNext != NULL){PrintListReversingly_Recuesively(pHead->m_pNext);}printf("%d\t", pHead->m_nKey);}
}

//如果链表非常长,就会导致函数调用的层级很深,从而导致函数调用栈溢出,显式用栈基于循环实现的代码鲁棒性要好一些。

剑指offe 面试题5, 从尾到头打印链表相关推荐

  1. 剑指offer面试题[5]-从尾到头打印链表

    目描述 输入一个链表,从尾到头打印链表每个节点的值. /** *  struct ListNode { *        int val; *        struct ListNode *next ...

  2. 剑指Offer - 面试题6. 从尾到头打印链表(栈,递归,反转链表)

    文章目录 1. 题目 2. 解题 2.1 stack解题 2.2 递归 2.3 反转链表 1. 题目 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入:head ...

  3. 剑指offer 面试题5—从尾到头打印链表

    题目: 输入一个链表的头结点,从尾到头反过来打印出每个结点的值. 考虑用栈 public void invertedList1(ListNode head) {if (head == null) {r ...

  4. 剑指offer面试题06. 从尾到头打印链表(辅助栈法)

    题目描述 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 思路 详见链接 代码 class Solution:def reversePrint(self,head:ListNod ...

  5. 剑指Offer - 九度1511 - 从尾到头打印链表

    剑指Offer - 九度1511 - 从尾到头打印链表2013-11-29 21:08 题目描述: 输入一个链表,从尾到头打印链表每个节点的值. 输入: 每个输入文件仅包含一组测试样例. 每一组测试案 ...

  6. 剑指offer java版 test3—从尾到头打印链表

    标题:剑指offer java版 test3-从尾到头打印链表 题目:输入一个链表,按链表从尾到头的顺序返回一个ArrayList. 解答:知识不够全面,用ArrayList做的 但是看到大佬们还可以 ...

  7. 【剑指offer】登峰造极之从尾到头打印链表

    题目链接 从尾到头打印链表. 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 热度指数:1254529 题目描述 /** struct ListNode { i ...

  8. 剑指offer(C++)-JZ6:从尾到头打印链表(数据结构-链表)

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回). 如输入{ ...

  9. 【剑指offer-Java版】05从尾到头打印链表

    从头到尾打印链表:递归实现比较简单 注意处理异常输入:如输入指针为空 处理边界条件等即可 public class _Q05 {public static void main(String[] arg ...

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

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

最新文章

  1. Hibernate的简单应用
  2. 华为-yolo系列详解
  3. python多线程下载文件
  4. 算法每日一题--分治算法(二)-李富贵要上岸985
  5. Discuz!X/缓存机制和使用方法
  6. Unity Shader:Waveform波形(1)-用正弦函数做闪烁效果并分析波形公式中的参数
  7. CentOS6.5安装与配置Mysql数据库
  8. 小马儿随笔(三)——小标签 大学问
  9. PEOPLE MANAGEMENT 节选
  10. 发送需要smtp认证的邮件
  11. 五款最好的免费同步软件
  12. 资源 | 最新版区块链术语表(中英文对照)
  13. 2018年java web前端(总结)前端要求和流行几个框架
  14. python 删除文件到回收站 SHFileOperation
  15. java short =_java short类型取值范围与用法
  16. Linux编程学习笔记-多进程编程
  17. FrontEnd前端文件架构
  18. 下载图片到指定文件夹
  19. php 统计汉字,PHP 统计实时统计汉字个数和区别
  20. linux midi端口,在Linux下玩转MIDI

热门文章

  1. myChat - 第三方ChatGPT原生客户端,支持win和mac系统
  2. MICCAI-iseg2017挑战赛小结与婴儿脑组织分割总结
  3. 使用Java语言打印爱心
  4. 边城小猿——某二线城程序员15年的工作经历
  5. 如何使用JMX_Expoter+Prometheus+Grafana监控Hadoop集群
  6. 前端配色方案:最舒服的十种颜色
  7. 智能电饭煲自动洗米手机操控一键搞定
  8. Spring Security(一):最简单的Spring Security程序
  9. HUD玻璃检测工装背景简介
  10. python显示gif图片_利用Python制作GIF图片