《剑指offer》c++版本 6.从尾到头打印链表
如题:
题目描述
输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
刚到手,想到的是反转链表,然后顺序打印。不过这样会改变原有链表。不过这道题最好的解法是利用递归或者栈,一样的道理。遍历链表,从尾到头,听起来和栈的元素访问顺序一致。因此,可以遍历链表,元素入栈,然后再出栈访问即可。此为方法1.
方法2是使用递归,先访问下一个元素,再访问自身。值得注意的是,凡是递归写法,一般都可以改成栈写法。
下面是c++的栈解法:
//解法,遍历链表,将元素保存到栈中,然后将栈中每个元素放到vector中
class Solution {
public:vector<int> printListFromTailToHead(ListNode* head) {stack<int> st;vector<int> vec;ListNode *curNode = head;//特殊情况处理if (head == NULL)return vec;//遍历head,入栈while(curNode){st.push(curNode->val);curNode = curNode->next;}//出栈while (!st.empty()){vec.push_back(st.top());st.pop();}return vec;}
};
=============================================================================================
Linux应用程序、内核、驱动、后台开发交流讨论群(745510310),感兴趣的同学可以加群讨论、交流、资料查找等,前进的道路上,你不是一个人奥^_^。
《剑指offer》c++版本 6.从尾到头打印链表相关推荐
- 剑指Offer - 九度1511 - 从尾到头打印链表
剑指Offer - 九度1511 - 从尾到头打印链表2013-11-29 21:08 题目描述: 输入一个链表,从尾到头打印链表每个节点的值. 输入: 每个输入文件仅包含一组测试样例. 每一组测试案 ...
- 剑指offer java版 test3—从尾到头打印链表
标题:剑指offer java版 test3-从尾到头打印链表 题目:输入一个链表,按链表从尾到头的顺序返回一个ArrayList. 解答:知识不够全面,用ArrayList做的 但是看到大佬们还可以 ...
- 剑指offer面试题[5]-从尾到头打印链表
目描述 输入一个链表,从尾到头打印链表每个节点的值. /** * struct ListNode { * int val; * struct ListNode *next ...
- 【剑指offer】登峰造极之从尾到头打印链表
题目链接 从尾到头打印链表. 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 热度指数:1254529 题目描述 /** struct ListNode { i ...
- 剑指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(C++)-JZ6:从尾到头打印链表(数据结构-链表)
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回). 如输入{ ...
- 剑指offer面试题06. 从尾到头打印链表(辅助栈法)
题目描述 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 思路 详见链接 代码 class Solution:def reversePrint(self,head:ListNod ...
- 【剑指offer-Java版】05从尾到头打印链表
从头到尾打印链表:递归实现比较简单 注意处理异常输入:如输入指针为空 处理边界条件等即可 public class _Q05 {public static void main(String[] arg ...
最新文章
- uitableviw 自适应高度
- PYTHON自动化Day4-交换变量,字符串方法,拷贝,集合,文件,文件指针
- Intro OpenCL Tutorial
- TCP/IP 四层模型
- easyui datagrid reload后自动全选解决
- 热部署Devtools
- 2021 年 五一数学建模比赛 B 题(第四问至第六问)
- 2021年数学建模国赛C题问题一详细思路和代码
- mysql建表数据字典_一种数据字典表的创建方式
- HAUT OJ 1475: cxk下棋
- CVE-2017-11176: A step-by-step Linux Kernel exploitation (part 4/4)
- 无线充电仿真 simulink llc谐振器实现恒压输出 WPT 无线电能传输
- 【源码在文末】SpringSession实战使用(基于SpringBoot项目)
- xstream异常com.thoughtworks.xstream.security.ForbiddenClassException
- Prometheus实战--Uber背书的存储解决方案M3
- Android监听锁屏键、Home键
- 劲爆!开源芯片死结打开了?道翰天琼认知智能机器人平台API接口大脑为您揭秘
- Android实现快速发送电子邮件
- IE下部分activex控件无法正常调用的设置
- 解析数字签名的Substring结构
热门文章
- ubuntu多节点安装kubernetes
- Make uploadify button text support multiple languages(使uploadify的buttonText支持多国语言)
- SQL Server 数据库的整理优化的基本过程(二)
- java日志服务器_java服务器搭建(一)日志系统
- unity 弹出式菜单_Java Swing JMenu和JPopupMenu:菜单和弹出式菜单
- java 抽象类 模板_Java抽象类的构造模板模式用法示例
- 【Paper】2019_Distributed Optimal Control of Energy Storages in a DC Microgrid with Communication Dela
- 4.7 参数 vs 超参数-深度学习-Stanford吴恩达教授
- [python] import后的模块是否能del移除掉
- SOPC第四课 按键中断