【练习题】二叉树的镜像

思路:我们先前序遍历这棵树的每个节点,如果遍历到的节点有子结点,就交换它的两个子节点。当交换完所有非叶子节点的左右节点之后,就得到了树的镜像

void merrorTree(Node* root)
{
    if(root==NULL)
        return;
    if(root->left==NULL&&root->right==NULL)
        return;

    //交换左右节点
    Node* tmp=root->left;
    root->left=root->right;
    root->right=tmp;

    if(root->left!=NULL)
        merrorTree(root->left);
    if(root->right!=NULL)
        merrorTree(root->right);
}

猜你喜欢

转载自blog.csdn.net/lindaxym/article/details/81362304