交互二叉树的左右孩子思路,就类似于初学C语言时,借助一个temp变量来交换两个数。先定一个树类型的变量作为中间变量,如果这个节点为左节点,则交换位置,反之同理。交换的时候就包含了递归的思想。
下面为C语言实现的部分代码
void ExchangeTree(BinTree T)//交换二叉树的左右子树
{
BinTree Temp;
if (T->lchild==NULL&&T->rchild==NULL)
return 0;
else
{
Temp = T->lchild;
T->lchild = T->rchild;
T->rchild = Temp;
}
if (T->lchild)
{
ExchangeTree(T->lchild);
}
if (T->rchild)
{
ExchangeTree(T->rchild);
}
}