逆序 1.使用stack。2.递归.

递归理解:先到达尾部节点,然后再添加。

结果保存:成员变量。

    /**
     * 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
     * @param listNode 链表
     * @return 逆序后的结果。
     */

    private ArrayList<Integer> res=new ArrayList<>();
    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
        if(listNode!=null){
            printListFromTailToHead(listNode.next);
            res.add(listNode.val);
        }
        return res;
    }

大佬的图解。地址:https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof/solution/mian-shi-ti-06-cong-wei-dao-tou-da-yin-lian-biao-d/
图片说明