剑指offe 面试题5, 从尾到头打印链表
输入一个链表的头结点,从尾到头反过来打印每个结点的值。
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, 从尾到头打印链表相关推荐
- 剑指offer面试题[5]-从尾到头打印链表
目描述 输入一个链表,从尾到头打印链表每个节点的值. /** * struct ListNode { * int val; * struct ListNode *next ...
- 剑指Offer - 面试题6. 从尾到头打印链表(栈,递归,反转链表)
文章目录 1. 题目 2. 解题 2.1 stack解题 2.2 递归 2.3 反转链表 1. 题目 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入:head ...
- 剑指offer 面试题5—从尾到头打印链表
题目: 输入一个链表的头结点,从尾到头反过来打印出每个结点的值. 考虑用栈 public void invertedList1(ListNode head) {if (head == null) {r ...
- 剑指offer面试题06. 从尾到头打印链表(辅助栈法)
题目描述 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 思路 详见链接 代码 class Solution:def reversePrint(self,head:ListNod ...
- 剑指Offer - 九度1511 - 从尾到头打印链表
剑指Offer - 九度1511 - 从尾到头打印链表2013-11-29 21:08 题目描述: 输入一个链表,从尾到头打印链表每个节点的值. 输入: 每个输入文件仅包含一组测试样例. 每一组测试案 ...
- 剑指offer java版 test3—从尾到头打印链表
标题:剑指offer java版 test3-从尾到头打印链表 题目:输入一个链表,按链表从尾到头的顺序返回一个ArrayList. 解答:知识不够全面,用ArrayList做的 但是看到大佬们还可以 ...
- 【剑指offer】登峰造极之从尾到头打印链表
题目链接 从尾到头打印链表. 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 热度指数:1254529 题目描述 /** struct ListNode { i ...
- 剑指offer(C++)-JZ6:从尾到头打印链表(数据结构-链表)
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回). 如输入{ ...
- 【剑指offer-Java版】05从尾到头打印链表
从头到尾打印链表:递归实现比较简单 注意处理异常输入:如输入指针为空 处理边界条件等即可 public class _Q05 {public static void main(String[] arg ...
- 剑指offer:面试题06. 从尾到头打印链表
题目:从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表长度 & ...
最新文章
- Hibernate的简单应用
- 华为-yolo系列详解
- python多线程下载文件
- 算法每日一题--分治算法(二)-李富贵要上岸985
- Discuz!X/缓存机制和使用方法
- Unity Shader:Waveform波形(1)-用正弦函数做闪烁效果并分析波形公式中的参数
- CentOS6.5安装与配置Mysql数据库
- 小马儿随笔(三)——小标签 大学问
- PEOPLE MANAGEMENT 节选
- 发送需要smtp认证的邮件
- 五款最好的免费同步软件
- 资源 | 最新版区块链术语表(中英文对照)
- 2018年java web前端(总结)前端要求和流行几个框架
- python 删除文件到回收站 SHFileOperation
- java short =_java short类型取值范围与用法
- Linux编程学习笔记-多进程编程
- FrontEnd前端文件架构
- 下载图片到指定文件夹
- php 统计汉字,PHP 统计实时统计汉字个数和区别
- linux midi端口,在Linux下玩转MIDI
热门文章
- myChat - 第三方ChatGPT原生客户端,支持win和mac系统
- MICCAI-iseg2017挑战赛小结与婴儿脑组织分割总结
- 使用Java语言打印爱心
- 边城小猿——某二线城程序员15年的工作经历
- 如何使用JMX_Expoter+Prometheus+Grafana监控Hadoop集群
- 前端配色方案:最舒服的十种颜色
- 智能电饭煲自动洗米手机操控一键搞定
- Spring Security(一):最简单的Spring Security程序
- HUD玻璃检测工装背景简介
- python显示gif图片_利用Python制作GIF图片