剑指Offer_从尾到头打印链表

题目描述:

        输入一个链表,从尾到头打印链表每个节点的值。

思路:对于逆序的话,我们首先应该想到利用栈的性质,栈进去是顺序,出来后就是逆序了;

所以有:

剑指Offer_从尾到头打印链表

Copy版:    

public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {

        ArrayList<Integer> list=new ArrayList<>();
        Stack<ListNode> stack=new Stack<>();
        ListNode cur=listNode;
        while(cur!=null){
            stack.push(cur);
            cur=cur.next;
        }
        while(!stack.isEmpty()){
            list.add(stack.pop().val);
        }
        return list;
    }