从尾到头打印链表
题目
输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
思想
链表指针均向后指,因此我们想要倒序存储链表可以借助栈先进后出的思想,将链表遍历顺序压入栈中,然后再从栈中弹出存入ArrayList。
代码
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> integers = new ArrayList<>();
Stack<Integer> stacks = new Stack<>();
while(listNode != null){
stacks.push(listNode.val);
listNode = listNode.next;
}
while(!stacks.empty())
integers.add(stacks.pop());
return integers;
}