二叉树的镜像

来源:互联网 发布:淘宝网上买红酒靠谱吗 编辑:程序博客网 时间:2024/06/05 11:53

题目描述
操作给定的二叉树,将其变换为源二叉树的镜像。

二叉树的镜像定义:源二叉树
8
/ \
6 10
/ \ / \
5 7 9 11
镜像二叉树
8
/ \
10 6
/ \ / \
11 9 7 5
思路:
由定义可知:一颗叔的镜像=root节点交换左右子树+再分别对左右子树求镜像。
由此:递归求解。

    public void Mirror(TreeNode root) {        if(root == null)            return ;        TreeNode tmp = root.left;        root.left = root.right;        root.right = tmp;        Mirror(root.left);        Mirror(root.right);    }

树节点的定义如下:

    class TreeNode {        int val = 0;        TreeNode left = null;        TreeNode right = null;        public TreeNode(int val) {            this.val = val;        }
原创粉丝点击