从尾到头打印链表 发表于 2018-07-03 | 更新于 2019-05-09 | 分类于 剑指offer | 阅读次数: | 阅读次数: 本文字数: 1.2k | 阅读时长 ≈ 2 分钟 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList: 解法一:(使用栈)1234567891011121314151617181920212223242526/** * public class ListNode { * int val; * ListNode next = null; * * ListNode(int val) { * this.val = val; * } * } */import java.util.ArrayList;import java.util.Stack;public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { Stack<Integer> stack = new Stack<>(); while(listNode!=null){ stack.push(listNode.val); listNode = listNode.next; } ArrayList<Integer> list = new ArrayList<>(); while(!stack.isEmpty()){ list.add(stack.pop()); } return list; }} 解法二:(使用函数递归)1234567891011import java.util.ArrayList;public class Solution { ArrayList<Integer> list = new ArrayList<>(); public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { if(listNode != null){ this.printListFromTailToHead(listNode.next); list.add(listNode.val); } return list; }} ---------------- The End ---------------- 本文作者: easy_go 本文链接: https://mlone.top/2018/07/03/从尾到头打印链表/ 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!