题目:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
解析:这个就利用Stack先进后出的思想来做。简单代码如下:
public ArrayList<Integer> printListFromTailToHead(ListNode listNode){
ArrayList<Integer> arrayList = new ArrayList<Integer>();
if (listNode == null) return arrayList;
Stack<Integer> stack = new Stack();
while (listNode != null){
stack.push(listNode.val);
listNode = listNode.next;
}
while(!stack.empty()){
arrayList.add(stack.pop());
}
return arrayList;
}