int issametree(Bitree *t1,Bitree *t2)
{
if (t1==NULL && t2==NULL)//两个树都为空,则结构相同
{
return 1;
}
else if (t1==NULL || t2==NULL || t1->data!=t2->data)//一个为空一个不为空或者节点的值不相等
{
return 0;
}
else//两个都不为空且节点值相等,递归判断左右子树
return issametree(t1->lchild,t2->lchild)&&issametree(t1->rchild,t2->rchild);//左右子树的结构必须都相同
//右节点是无顺序的 0 1 2和0 2 1也是一样小改了一下,这个更好
return (issametree(t1->lchild,t2->lchild)&&issametree(t1->rchild,t2->rchild)) ||
(issametree(t1->lchild,t2->rchild)&&issametree(t1->rchild,t2->lchild));
}
判断两颗二叉树是否相同
比较两棵二叉树的结构是否相同
最新推荐文章于 2022-12-16 21:48:54 发布
本文探讨如何判断两颗二叉树在结构上是否完全一致,包括递归和非递归两种解决方案,深入理解二叉树的性质和遍历方法。
1153

被折叠的 条评论
为什么被折叠?



