从尾到头打印链表

2016-10-27  本文已影响11人  越长越圆

从尾到头打印链表

原文链接: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);
        }
    }
上一篇 下一篇

猜你喜欢

热点阅读