1.判断两个二叉树是否相似
typedef struct BiTNode
{
Elemtype data;
struct BiTNode *lchild,*rchild;
}BiTNode;
bool similar(BiTNode T1,BiTNode T2)
{
bool l,r;
if(T1==NULL&&T2==NULL)
return true;
else if(T1==NULL||T2==NULL)
return 0;
else
{
l=similar(T1->lchild,T2->lchild);
r=similat(T1->rchild,T2->rchild);
return l&&r;
}
}
2.判断两个二叉树是否相同
typedef struct BiTNode
{
Elemtype data;
struct BiTNode *lchild,*rchild;
}BiTNode;
bool same(BiTNode T1,BiTNode T2)
{
bool l,r;
if(T1==NULL&&T2==NULL)
return true;
else if(T1==NULL||T2==NULL)
return 0;
else
{
if(T1->data!=T2->data)
return false;
l=same(T1->lchild,T2->lchild);
r=same(T1->rchild,T2->rchild);
return l&&r;
}
}