题目描述

输入一个链表,按链表从尾到头的顺序返回一个ArrayList。

思路

1.使用递归的思想求解。
2.当链表当前节点的值不为空时,将该链表的下一个节点压入方法栈,递归结束的条件是链表结点为空。

Java代码实现

import java.util.ArrayList;

public class Solution {
    private ArrayList<Integer> array = new ArrayList<Integer>();
    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
        //递归出口
        if(listNode != null){
            printListFromTailToHead(listNode.next);
            //将链表的值加进结果集
            array.add(listNode.val);
        }
        return array;
    }
}