从尾到头打印链表

    技术2026-03-11  18

    输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0<= 链表长度 <= 10000

    一般情况下我们看到倒序输出,第一个反应应该是栈,栈的特点就是后进先出,那这题很简单了,把链表数据存入栈中,在弹出到数组中。 Java代码:

    public int[] reversePrint(ListNode head) { Stack<ListNode> stack = new Stack<ListNode>();//定义栈,原题给了ListNode类 ListNode temp = head; while (temp != null) { stack.push(temp); //存入栈 temp = temp.next; } int size = stack.size(); int[] a = new int[size]; for (int i = 0; i < size; i++) { a[i] = stack.pop().val; //val是链表中每个元素的值 } return a; }
    Processed: 0.026, SQL: 9