题目:

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

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

限制:
0 <= 链表长度 <= 10000

做题思路:

计算长度创建数组,再逆向赋值

题解:

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public int[] reversePrint(ListNode head)
        {
            ListNode node = head;
            int count = 0;
            while(node!=null)
            {
                count++;
                node = node.next;
            }
            int [] result = new int[count];
            for (int i = count - 1; i >= 0; i--) {
                result[i] = head.val;
                head = head.next;
            }
            return result;
        }
}