27 二叉树的镜像

package sort;

public class Test27 {

    public static void main(String[] args) {
        int deepth = 3;
        BinayTreeNode root = new BinayTreeNode(1, null, null);
        makeTree(root, deepth);

        reverseTree(root);
        System.out.println(root.left.left.value);

    }

    private static void reverseTree(BinayTreeNode root) {
        // TODO Auto-generated method stub
        if (root != null) {   //如果某节点不为空,则交换该节点的左右节点
            BinayTreeNode temp = root.left;
            root.left = root.right;
            root.right = temp;

            reverseTree(root.left);
            reverseTree(root.right);

        }
    }

    private static void makeTree(BinayTreeNode node, int deep) {
        // TODO Auto-generated method stub
        if (deep > 0) {
            node.left = new BinayTreeNode(node.value * 2, null, null);
            node.right = new BinayTreeNode(node.value * 2 + 1, null, null);
            makeTree(node.left, deep - 1);
            makeTree(node.right, deep - 1);
        }

    }
}
 

发布了41 篇原创文章 · 获赞 1 · 访问量 766

猜你喜欢

转载自blog.csdn.net/coder_my_lover/article/details/105268814
今日推荐