输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
示例:
输入: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) { Stack<ListNode> stk = new Stack<>(); ListNode temp = head; while(temp != null){ stk.push(temp); temp = temp.next; } int size = stk.size(); int[]arr = new int[size]; for(int i = 0; i < size; i++){ arr[i] = stk.pop().val; } return arr; } }