链表逆序输出数值

链表学习

今天学习链表的时候,遇到这样一个问题,如何把链表逆序输出。拿到这道题首先想到的结构就是"栈"结构,因为它是按照先进后出的方式刚好适合链表的逆序。

代码学习

Node.java

package likendListStudy;

public class Node {
    private int data;
    private Node nest = null;

    public int getData() {
        return data;
    }

    public void setData(int data) {
        this.data = data;
    }

    public Node getNest() {
        return nest;
    }

    public void setNest(Node nest) {
        this.nest = nest;
    }

    public Node() {
    }

    public Node(int data) {
        this.data = data;
    }
}

代码内核

package likendListStudy;

import java.util.Stack;

public class ReverseLinkedList {

    public Node createLinkedList() {
        Node node = new Node(1);
        Node node1 = new Node(2);
        Node node2 = new Node(3);
        Node node3 = new Node(4);
        Node node4 = new Node(5);
        node.setNest(node1);
        node1.setNest(node2);
        node2.setNest(node3);
        node3.setNest(node4);
        return node;
    }

    // 用栈的方式来输出
    public void printListforStatic(Node node) {
        Stack<Integer> stack = new Stack<>();
        while (node != null) {
            stack.push(node.getData());
            node = node.getNest();
        }

        while (!stack.isEmpty()) {
            System.out.print(stack.pop()+" ");
        }
    }
    public static void main(String args[]) {
        ReverseLinkedList reverseLinkedList = new ReverseLinkedList();
        Node node = reverseLinkedList.createLinkedList();
        reverseLinkedList.printListforStatic(node);
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容