二叉树的镜像

题目描述

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

输入描述:

二叉树的镜像定义:源二叉树 
            8
           /  \
          6   10
         / \  / \
        5  7 9 11
        镜像二叉树
            8
           /  \
          10   6
         / \  / \
        11 9 7  5

题解

这题不能想太多,会被绕死

直接遍历交换它们的左右孩子的位置就好

public void Mirror(TreeNode root) {
    if (root == null)
        return;

    if (root.left == null && root.right == null)
        return;

    /*交换子节点*/
    TreeNode tmp = root.left;
    root.left = root.right;
    root.right = tmp;

    /*前序遍历*/
    if (root.left != null)
        Mirror(root.left);

    if (root.right != null)
        Mirror(root.right);
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务