题目:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。

分析:若不允许修改原链表的值,则可以使用栈来实现,也可以使用另外一个ArrayList做中转的数据。

public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> arrayList = new ArrayList<>();
Stack<Integer> stack = new Stack<>();
ListNode temp = listNode;
while (temp!=null){
stack.push(temp.val);
temp = temp.next;
}
while (!stack.isEmpty()){
arrayList.add(stack.pop());
}
return arrayList;
}
public ArrayList<Integer> printListFromTailToHead1(ListNode listNode) {
ArrayList<Integer> arrayList = new ArrayList<>();
ArrayList<Integer> tempList = new ArrayList<>();
ListNode temp = listNode;
while (temp!=null){
tempList.add(temp.val);
temp = temp.next;
}
for(int i=tempList.size()-1;i>=0;i--){
arrayList.add(tempList.get(i));
}
return arrayList;
}

剑指Offer(书):从尾到头打印链表的更多相关文章

  1. 《剑指offer》从尾到头打印链表

    本题来自<剑指offer> 从尾到头打印链表 题目: 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 思路: 方案一:首先遍历到尾部,然后从尾部进行到头值进行操作,后进先 ...

  2. 菜鸟刷题路:剑指 Offer 06. 从尾到头打印链表

    剑指 Offer 06. 从尾到头打印链表 class Solution { public int[] reversePrint(ListNode head) { Stack<Integer&g ...

  3. 力扣 - 剑指 Offer 06. 从尾到头打印链表.md

    题目 剑指 Offer 06. 从尾到头打印链表 思路1(递归) 首先先遍历整个脸表,计算出链表的长度(用于初始化数组).然后进行递归,从链表头部递归到尾部,这期间什么都不做,直到递归到最后一个节点的 ...

  4. 【Java】 剑指offer(5) 从尾到头打印链表

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 输入一个链表的头结点,从尾到头反过来打印出每个结点的值.结点定义如下: ...

  5. Go语言实现:【剑指offer】从尾到头打印链表

    该题目来源于牛客网<剑指offer>专题.​ 输入一个链表,按链表从尾到头的顺序返回一个ArrayList. Go语言实现: type ListNode struct { Val int ...

  6. [剑指Offer] 3.从尾到头打印链表

    题目描述 输入一个链表,从尾到头打印链表每个节点的值. [思路]用一个vector存储,遍历链表时每次从前面插入 /** * struct ListNode { * int val; * struct ...

  7. [剑指offer]6.从尾到头打印链表+18.删除链表节点

    链表 6.从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 方法一 迭代 创建空列表res,将链表值head.val依次存进res,返回翻转后的res 代码 cl ...

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

    链接:https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof/ 标签:链表 题目 输入一个链表的头节点,从尾到头 ...

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

    题目 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 解题思路 在不改变链表结构的前提下,因为单向链表本身的结构是从头到尾的,现在用从尾到头遍历打印,可以联想到“先进后出”, 因此我 ...

  10. 剑指Offer 3. 从尾到头打印链表 (链表)

    题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 题目地址 https://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35 ...

随机推荐

  1. Tomcat | 修改默认端口

    Tomcat安装目录下 conf 目录下 server.xml 找到 <Connector connectionTimeout="/> 修改其中port值即可

  2. Testing Round #12 C

    Description For the given sequence with n different elements find the number of increasing subsequen ...

  3. h5-25-地理定位配合百度地图

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...

  4. Django framework

    1. Django 的内置web server是如何实现的 2. Django 的WSGI是如何实现的 3. Django middle ware是如何实现的 4. Django framework的 ...

  5. excel之实验数据处理线性拟合

    实验前准备:设计表格项,通过设计公式,从而输入原始数据后直接得到最终的结果数据,学习常用的VBA公式及处理:Cn-$B$4,其中的$B$4表示绝对单元格位置;SUM(Xm:Yn)求范围内的和. 针对实 ...

  6. Aria's Loops

    https://www.hackerrank.com/contests/101hack41/challenges/arias-loops 可以看我以前的笔记,http://www.cnblogs.co ...

  7. 微信小程序九宫格布局

    先上效果图 使用注意事项 1:注意在app.json中注册页面路径 2:如果要增加新的Item,可到js中对listService数组进行增加 3:listService参数[ title:分类标题 ...

  8. 5.iOS测试总结

    1. 什么是Mock 当我们在做单元测试的过程中,为了保持测试又短又快和测试的隔离性,希望尽可能少地去实例化一些具体的组件.在现在面向对象的系统中,被测试的对象很可能会依赖于几个其他的对象,这时候我们 ...

  9. re正则表达式公式讲解3

    1.分组匹配    用()把需要分组的类型括起来,如下 import re m = re.search("([a-z]+)([0-9]+)","alex123" ...

  10. 高阶函数之filter 和 sorted

    filter函数 接受一个函数和序列,把传入的函数依次作用于每个序列,然后根据返回值时True还是False保留或舍弃元素. def func(n): if n%2 == 0: return n m ...