题目描述
输入一个链表,按链表从尾到头的顺序返回一个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;
}
}
京公网安备 11010502036488号