Java算法-剑指offer-从尾到头打印链表

    xiaoxiao2021-03-25  164

    题目描述

    输入一个链表,从尾到头打印链表每个节点的值。

    思路:堆栈是一种后进先出的线性表。仅允许在栈顶一端进行插入和删除运算。这样我们只要将链表里面的元素按顺序压栈,弹栈就可以得到反向输出的链表。

    链表的定义:

    public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } 实现如下:

    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { Stack<Integer> stack = new Stack<Integer>(); while (listNode != null) { stack.push(listNode.val); listNode = listNode.next; } ArrayList<Integer> list = new ArrayList<Integer>(); while (!stack.isEmpty()) { list.add(stack.pop()); } return list; }

    转载请注明原文地址: https://ju.6miu.com/read-4044.html

    最新回复(0)