二叉树遍历

前序遍历:根左右
中序遍历:左根右
后序遍历:左右根
层序遍历:从上往下、从左往右

递归遍历:使用递归方法遍历
迭代遍历:使用迭代方法实现递归函数,与递归等价morris遍历!

前序遍历

public static void preorder(TreeNode root){
        if (root == null){
            return;
        }
        System.out.println(root.val);//前序:第一次成为栈顶元素即打印
        preorder(root.left);
        preorder(root.right);
    }

输出:1 2 4 5 6 7 3

中序遍历

public static void midorder(TreeNode root){
        if (root == null){
            return;
        }
        midorder(root.left);
        System.out.print(root.val);
        midorder(root.right);
    }

输出:4 2 6 5 7 1 3

后序遍历

public static void endorder(TreeNode root){
        if (root == null){
            return;
        }
        endorder(root.left);
        endorder(root.right);
        System.out.print(root.val);
    }

输出:4 6 7 5 2 3 1

posted @ 2021-08-01 14:08  落笔生花  阅读(39)  评论(0)    收藏  举报