描述

输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。

示例

输入:head = [1,3,2]

输出:[2,3,1]

思路

这道题就是简单的逆序访问单链表节点,可以用递归在回溯的时候访问它,也可以自己定义一个辅助栈去存储访问过的节点数据。两种方法所用的辅助空间几乎相同,递归所需在栈中存储的信息更多,可能空间代价略高一些。

代码

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode(int x) { val = x; }* }*/
// 递归法
class Solution {List<Integer> list = new ArrayList<>();public int[] reversePrint(ListNode head) {recur(head);int[] rst = new int[list.size()];int i = 0;for (int x : list) {rst[i++] = x;}return rst;}private void recur(ListNode node) {if (node == null) return;recur(node.next);list.add(node.val);}
}
// 辅助栈
class Solution {List<Integer> list = new ArrayList<>();public int[] reversePrint(ListNode head) {Stack<Integer> stack = new Stack<>();ListNode cur = head;while (cur != null) {stack.push(cur.val);cur = cur.next;}int[] rst = new int[stack.size()];for (int i = 0; i < rst.length; i++) {rst[i] = stack.pop();}return rst;}
}

6. 从尾到头打印链表相关推荐

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

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

  2. 【剑指Offer专题】链表系列:从尾到头打印链表、反转链表、回文链表、合并两个排序的链表(C++和Python实现)...

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 剑指Offer(三):从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每 ...

  3. 《LeetCode力扣练习》剑指 Offer 06. 从尾到头打印链表 Java

    <LeetCode力扣练习>剑指 Offer 06. 从尾到头打印链表 Java 一.资源 题目: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入: ...

  4. java从尾到头打印链表数据_Java编程实现从尾到头打印链表代码实例

    问题描述:输入一个链表的头结点,从尾巴到头反过来打印出每个结点的值. 首先定义链表结点 public class ListNode { int val; ListNode next = null; L ...

  5. JAVA实现从尾到头打印链表(《剑指offer》)

    最近在刷<剑指offer>里的编程题,但是网上关于<剑指offer>的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码 ...

  6. 【剑指Offer】从尾到头打印链表

    剑指Offer 从尾到头打印链表 题目描述 解法1 实现代码 一点补充 题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 解法1 这道题主要思路是while循环从头遍历整个列 ...

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

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

  8. LeetCode-剑指 Offer 06. 从尾到头打印链表

    剑指 Offer 06. 从尾到头打印链表 思路一:翻转 1:用vector存从头到尾的每个节点值 2:返回时候用reverse翻转一下 时间复杂度:O(n) 空间复杂度:O(n) /*** Defi ...

  9. 剑指offer06.从尾到头打印链表

    剑指offer06.从尾到头打印链表 1. 改变链表结构的解法 2.可以使用栈,递归,或者直接反向输出数组 提示: 若是面试遇到此题,最好先向面试官确认是否可以改变链表的结构, 1. 改变链表结构的解 ...

  10. python 从尾到头打印链表

    从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每个节点的值 (用数组返回).示例 1:输入:head = [1,3,2] 输出:[2,3,1] 提供三种题解 # Definition fo ...

最新文章

  1. ld-linux-x86-64.so.2+,RedHat6安装Oracle数据库遇到错误 C [ld-linux-x86-64.so.2+0x14d70]
  2. mysql游标结果为空
  3. python单词意思-Python
  4. anaconda不同虚拟环境下使用jupyter的问题
  5. HDU 5878 I Count Two Three
  6. halo多人正在连接服务器,在线人数过低 《光晕2》PC版多人服务器下月关闭
  7. swagger在springboot上的快速上手
  8. 腾讯云 AI 在新基建领域下一盘什么大棋
  9. 黑马程序员_Java基础(环境搭建、进制转换、运算符)
  10. 微软卸载工具msicuu2(附带资源)
  11. Emlog大表哥资源网模板
  12. 机器学习中的数据集切分
  13. [JS jQuery项目]仿网易云音乐项目问题摘要
  14. dilated conv的理解
  15. 9部最佳Netflix原创恐怖电影和电视节目播出(2020年6月)
  16. Python之ffmpeg:利用python编程基于ffmpeg将m4a格式音频文件转为mp3格式文件
  17. 关掉visual studio 在桌面上右键---在visual studio中打开
  18. mysql 主键列_MySQL列属性 之 主键
  19. 国内ce认证机构有哪些 国内十大CE认证机构排名 做ce认证的公司推荐
  20. android程序设计排序方法,Android编程之可以实现拖动排序的listview控件

热门文章

  1. java计算加班费的程序代码_17.编程题:计算加班费、卖东西、日期提取、线程、数字、网络、数据库...
  2. 开一家水果店经营技巧,水果店经营技巧及运营策略
  3. 安装Microsoft nni环境
  4. NTLM及Kerberos认证流程
  5. 考试系统,倒计时代码
  6. python正则表达式分组
  7. spice客户端android,Compile Android Spice(aSpice)
  8. spring 消息列队
  9. 网卡混杂模式Promiscuous与linux上混杂模式的设置
  10. HTMLCSS超精炼面试题