题目:输入一个链表,按链表从尾到头的顺序返回一个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;
}

}