您当前的位置: 首页 >  算法

Phil Arist

暂无认证

  • 0浏览

    0关注

    276博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

算法修炼18、二叉树的镜像

Phil Arist 发布时间:2021-10-16 09:36:34 ,浏览量:0

题目描述:

  操作给定的二叉树,将其变换为原二叉树的镜像。

  解题思路:

  求一棵树的镜像的过程:先前序遍历这棵树的每个结点,如果遍历到的结点有子结点,就交换它的两个子结点。当交换完所有的非叶结点的左、右子结点后,就可以得到该树的镜像。

  如下面的例子,先交换根节点的两个子结点之后,我们注意到值为10、6的结点的子结点仍然保持不变,因此我们还需要交换这两个结点的左右子结点。做完这两次交换之后,我们已经遍历完所有的非叶结点。此时变换之后的树刚好就是原始树的镜像。

  举例:

  编程实现(Java):

    public void Mirror(TreeNode root) {
        /*思路:左右结点互换*/
        if(root!=null){
            if(root.left!=null || root.right!=null){
                TreeNode temp=root.left;
                root.left=root.right;
                root.right=temp;
                Mirror(root.left);
                Mirror(root.right);
            }
        }
    }

关注
打赏
1662360869
查看更多评论
立即登录/注册

微信扫码登录

0.0376s