title: 从尾到头打印链表 date: 2019-08-21T11:00:41+08:00 draft: false categories: offer
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
LinkedList<Integer> stack = new LinkedList<>();
while (listNode != null) {
stack.addLast(listNode.val);
listNode = listNode.next;
}
ArrayList<Integer> res = new ArrayList<>();
while (!stack.isEmpty()) {
res.add(stack.pollLast());
}
return res;
}
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> res = new ArrayList<>();
print(res,listNode);
return res;
}
private void print(ArrayList<Integer> res, ListNode listNode) {
if (listNode == null) return;
print(res, listNode.next);
res.add(listNode.val);
}