题目描述
输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
思路:
1.递归
2.栈
代码:
递归代码 public class Solution { ArrayList<Integer> arrayList=new ArrayList<Integer>(); public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { if(listNode!=null){ this.printListFromTailToHead(listNode.next); arrayList.add(listNode.val); } return arrayList; } } 栈代码 import java.util.Stack; import java.util.ArrayList; public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { Stack<Integer> s = new Stack<>(); while (listNode != null){ s.push(listNode.val); listNode = listNode.next; } ArrayList<Integer> arr = new ArrayList<>(); while (!s.empty()){ arr.add(s.pop()); } return arr; } }