题目:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
解答:
1.栈的方法
public ArrayList<integer> printListFromTailToHead(ListNode listNode){</integer>
Stack<Integer> stack=new Stack<Integer>();
ArrayList<Integer> arrayList=new ArrayList<>();
if(listNode==null){
return arrayList;
}
while(listNode!=null){
stack.push(listNode.val);
listNode=listNode.next;
}
while (!stack.isEmpty()){
arrayList.add(stack.pop());
}
return arrayList;
}2.递归方法
public class Solution {
ArrayList<Integer> arrayList=new ArrayList<>();
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
if (listNode!=null){
printListFromTailToHead(listNode.next);
arrayList.add(listNode.val);
}
return arrayList;
}}

京公网安备 11010502036488号