问题描述
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
示例
输入
head = [1,3,2]
返回值
[2,3,1]
解题思路
使用栈的特性FILO使输出顺序反转。
Java代码实现
class Solution { public int[] reversePrint(ListNode head) { Stack<ListNode> stack = new Stack<ListNode>(); while (head != null) { stack.push(head); head = head.next; } int[] res = new int[stack.size()]; for (int i = 0; i < res.length; ++i) { res[i] = stack.pop().val; } return res; } }