import java.util.*; public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode head) { // 初始化 ArrayList<Integer> res = new ArrayList<>(); // 递归打印链表 recursion(head, res); // 返回结果 return res; } // 递归打印尾结点 public static void recursion(ListNode node, ArrayList<Integer> res) { // 预处理 if (node == null) return; // 当前结点为尾结点 if (node.next == null) { res.add(node.val); } else { // 先打印后面的结点 recursion(node.next, res); res.add(node.val); } } }