题目
输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
题解
使用栈,将链表元素依次进栈,之后再从栈中依次弹出,就是从尾到头的顺序了。
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> res = new ArrayList<Integer>();
if(listNode == null){
return res;
}
Stack<Integer> stack = new Stack<>();
while(listNode != null){
stack.push(listNode.val);
listNode = listNode.next;
}
while(!stack.empty()){
res.add(stack.pop());
}
return res;
}