从尾到头打印链表

从尾到头打印链表

原文链接:http://blog.csdn.net/qq_22329521/article/details/52948057
通常我们打印是一个只读操作,不希望打印时修改内容。
解决思路,用栈来处理,后进先出的思想
另一种用递归来操作,但不利于层级太深

public class ListNode {
    private int value;
    private ListNode next;

    public ListNode(int value) {
        this.value = value;
    }

    public ListNode(int value, ListNode next) {
        this.value = value;
        this.next = next;
    }

    public void setValue(int value) {
        this.value = value;
    }

    public int getValue() {
        return value;
    }

    public void setNext(ListNode next) {
        this.next = next;
    }

    public ListNode getNext() {
        return this.next;
    }

}

    public static void test1(ListNode node) {
        Stack mStack = new Stack<>();
        while (node != null) {
            mStack.push(node);
            node = node.getNext();
        }
        while (!mStack.empty()) {
            System.out.print(mStack.pop());
        }
    }
     //递归解决
    public static void test2(ListNode node) {
        if (node != null) {
            if (node.getNext() != null) {
                test2(node);
            }
            System.out.print(node);
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容