面试题19:二叉树的镜像(Leetcode-101)

1. 输出一个二叉树的镜像

面试题19:二叉树的镜像(Leetcode-101)_第1张图片

递归交换左右子树的节点。
代码:

void MirrorBinaryTree(TreeNode* root)
{
    //空树,叶子节点直接返回
    if(root == NULL || (root->left==NULL && root->right==NULL)
    {
        return;
    }

    //交换左右子树
    TreeNode* tmp = root->left;
    root->left = root->right;
    root->right = tmp;

    //再次遍历左右子树
    MirrorBinaryTree(root->left);
    MirrorBinaryTree(root->right);
}

2. 判断一棵树是否为对称二叉树(即二叉树的镜像与原二叉树相同)

参照以下博文:
http://blog.csdn.net/okiwilldoit/article/details/78454979

你可能感兴趣的:(剑指offer)