题目链接

牛客网

题目描述

从尾到头反过来打印出每个结点的值。

解题思路

利用栈后进先出的特性, O(N),O(N)

class Solution {
   
    public int[] reversePrint(ListNode head) {
   
        if (head==null) return new int[0];
        Deque<Integer> stack = new LinkedList<>();
        int len = 0;
        while (head!=null) {
   
            stack.push(head.val);
            head = head.next;
            len++;
        }
        int[] res = new int[len];
        for (int i=0; i<len; i++)
            res[i] = stack.pop();
        return res;
    }
}