编写递归算法,对于给定的一棵二叉树T,将其修改为镜像二叉树。例如,题34图所示的两棵二叉树互为镜像二叉树。 编写递归算法,对于给定的一棵二叉树T,将其修改为镜像二叉树。例如,题34图所示的两棵二叉树互为镜像二叉树。

己知二叉树的存储结构类型定义如下: 编写递归算法,对于给定的一棵二叉树T,将其修改为镜像二叉树。例如,题34图所示的两棵二叉树互为镜像二叉树。

己知二叉树的存储结构类型定义如下: 编写递归算法,对于给定的一棵二叉树T,将其修改为镜像二叉树。例如,题34图所示的两棵二叉树互为镜像二叉树。 函数的原型为:void f34(BinTree T);


【正确答案】:void f34(BinTree T){ BinNode *s;If(BT){s=BT->lchild;BT->lchild= BT->rchild;BT->rchild=s;f34(BT->lchild);f34(BT->rchild);}}
【题目解析】:先设置一个中间变量s,用来存放左子树的值,然后把右子树的值交换给左子树,再让右子树获得中间变量s值,这样做到左右子树结结点值互换,左右子树分别递归,最后完成镜像。
Top