比较两个二叉树

时间:2011-03-21 12:29:45

标签: binary-tree

给定两个二叉搜索树,写函数告诉两个这样的树是否相同 - (即节点中的信息相同,每个节点左右分支相同)。

2 个答案:

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