二叉树非递归实现

public static void traversal(TreeNode root){
        LinkedList<TreeNode> stack = new LinkedList<>();
        TreeNode p = root;
        int sum = 0;
        while (p != null || !stack.isEmpty()) {
            while (p != null) {
                stack.push(p);
                p = p.right;
            }
            //首先栈均部位null
            if (!stack.isEmpty()) {
                p = stack.pop();
                System.out.println(p.val);
                p = p.left;
            }
        }
    }

I'm a fucKing fake coder!

原文地址:https://www.cnblogs.com/zhouyu0-0/p/15227063.html