`

判断两二叉树相等

    博客分类:
  • Java
 
阅读更多
bool IsBSTEqual(BNode* root1,BNode* root2)  
{  
      if (root1==NULL && root2==NULL)  
      {  
           return true;  
      }  
      else if (root1==NULL || root2==NULL)  
      {  
           return false;  
      }  
      else  
      {  
            if (root1->data != root2->data)  
            {  
                  return false;  
            }  
  
            bool is_left = IsBSTEqual(root1->left,root2->left);  
            bool is_right = IsBSTEqual(root1->right,root2->right);  
  
            if (is_left&&is_right)  
                 return true;  
  
            else  
            {  
                  is_right = IsBSTEqual(root1->right,root2->left);  
                  is_left = IsBSTEqual(root1->left,root2->right);  
  
                  if (is_left&&is_right)  
                       return true;  
                  else  
                       return false;  
            }  
      }  
  
}  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics