输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。

 

示例 1:

输入:head = [1,3,2]
输出:[2,3,1]

 

限制:

0 <= 链表长度 <= 10000

Related Topics
  • 递归
  • 链表
  • 双指针

  • 👍 310
  • 👎 0
  • 递归

    class Solution {
        int[] arr;
        public int[] reversePrint(ListNode head) {
            recursion(head,0);
            return arr;
        }
    
        private void recursion(ListNode node, int n) {
            if (node==null) {
                arr = new int[n];
                return;
            }
            recursion(node.next,n+1);
            arr[arr.length-n-1] = node.val;
        }
    }