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));
}