剑指offer[18]——二叉树的镜像

题目描述

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

输入描述:

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

这道题目的思路其实很简单,我们只要递归遍历源二叉树,然后交换节点的左右子树,直到遍历结束即可,过程请看下面的图示:

/* function TreeNode(x) {
    this.val = x;
    this.left = null;
    this.right = null;
} */
function Mirror(root)
{
    function change(head){
        if(!head){return false;}
        let temp = head.left;
        head.left = head.right;
        head.right = temp;
        change(head.left);
        change(head.right);
    }
    change(root);
    return root;
}

猜你喜欢

转载自www.cnblogs.com/Jacob98/p/12469236.html