二叉树中交换左右子树只能通过先序或后序实现
代码如下:
//交换左右二叉树;先序
void Exchange(BitTree *bt)
{
if(bt->lchild==NULL&&bt->rchild==NULL)
;
else
{
BitTree *temp=bt->lchild;
bt->lchild=bt->rchild;
bt->rchild=temp;
if(bt->lchild)
Exchange(bt->lchild);
if(bt->rchild)
Exchange(bt->rchild);
}
}
//交换左右二叉树;后序
void Exchange(BitTree *bt)
{
if(bt->lchild==NULL&&bt->rchild==NULL)
;
else
{
if(bt->lchild)
Exchange(bt->lchild);
if(bt->rchild)
Exchange(bt->rchild);
BitTree *temp=bt->lchild;
bt->lchild=bt->rchild;
bt->rchild=temp;
}
}