如题:

题目描述
输入一个链表,按链表从尾到头的顺序返回一个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.从尾到头打印链表相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. uitableviw 自适应高度
  2. PYTHON自动化Day4-交换变量,字符串方法,拷贝,集合,文件,文件指针
  3. Intro OpenCL Tutorial
  4. TCP/IP 四层模型
  5. easyui datagrid reload后自动全选解决
  6. 热部署Devtools
  7. 2021 年 五一数学建模比赛 B 题(第四问至第六问)
  8. 2021年数学建模国赛C题问题一详细思路和代码
  9. mysql建表数据字典_一种数据字典表的创建方式
  10. HAUT OJ 1475: cxk下棋
  11. CVE-2017-11176: A step-by-step Linux Kernel exploitation (part 4/4)
  12. 无线充电仿真 simulink llc谐振器实现恒压输出 WPT 无线电能传输
  13. 【源码在文末】SpringSession实战使用(基于SpringBoot项目)
  14. xstream异常com.thoughtworks.xstream.security.ForbiddenClassException
  15. Prometheus实战--Uber背书的存储解决方案M3
  16. Android监听锁屏键、Home键
  17. 劲爆!开源芯片死结打开了?道翰天琼认知智能机器人平台API接口大脑为您揭秘
  18. Android实现快速发送电子邮件
  19. IE下部分activex控件无法正常调用的设置
  20. 解析数字签名的Substring结构

热门文章

  1. ubuntu多节点安装kubernetes
  2. Make uploadify button text support multiple languages(使uploadify的buttonText支持多国语言)
  3. SQL Server 数据库的整理优化的基本过程(二)
  4. java日志服务器_java服务器搭建(一)日志系统
  5. unity 弹出式菜单_Java Swing JMenu和JPopupMenu:菜单和弹出式菜单
  6. java 抽象类 模板_Java抽象类的构造模板模式用法示例
  7. 【Paper】2019_Distributed Optimal Control of Energy Storages in a DC Microgrid with Communication Dela
  8. 4.7 参数 vs 超参数-深度学习-Stanford吴恩达教授
  9. [python] import后的模块是否能del移除掉
  10. SOPC第四课 按键中断