给定两个二叉搜索树,写函数告诉两个这样的树是否相同 - (即节点中的信息相同,每个节点左右分支相同)。
答案 0 :(得分:2)
在两棵树上进行广度或深度优先搜索,并在迭代时检查每个节点是否相等。
答案 1 :(得分:1)
试试这个:
bool bst::isequal1(node *& root1,node *& root2)
{
if(root1==NULL && root2==NULL)
{ return true;}
if( (root1==NULL && root2!=NULL) || (root1!=NULL && root2==NULL) )
{
return false;
}
if( (root1->data) != (root2->data) )
{
return false;
}
return ( isequal1(root1->left,root2->left) &&
isequal1(root1->right,root2->right));
}