lesson 17-3 合并二叉树 lesson 17-3 合并二叉树
发布时间
阅读量:
阅读量
题目描述:
假设存在两棵二叉树,当其中一棵覆盖到另一棵之上时,部分节点会产生重叠现象。此时需要将这两棵二叉树整合成一棵新的二叉树。整合的规则为:若两个节点发生重叠,则将它们的数值相加作为合并后节点的新数值;若未发生重叠,则非空节点直接作为新二叉树对应位置的节点。
思路1:
将其中一棵树的结构融合至另一棵树中,从而实现合并操作,但此过程会导致原有树结构被改变。
代码1:
//先序模板
BTNode* mergeBitree(BTNode *t1,BTNode *t2){
if(t1==NULL)
return t2;
if(t2==NULL)
return t1;
//先合并根节点
t1->data+=t2->data;
//递归合并左右子树
t1->lchild=mergeBitree(t1->lchild,t2->lchild);
t1->rchild=mergeBitree(t1->rchild,t2->rchild);
return t1;
}
思路2:构建一棵全新的树结构,同时确保原有树保持完整无损。
代码2:
全部评论 (0)
还没有任何评论哟~
