Compare two trees are equal?

Data is structured as follows:

typedef struct TreeNode

{

    char c;

    TreeNode *leftchild;

    TreeNode *rightchild;

}

Procedures are as follows:

int compTree(TreeNode *Tree1,TreeNode *Tree2 )
{
    if((Tree1==NULL) != (Tree2==NULL))
        return 1;
    if((Tree1==NULL) && (Tree2==NULL))
        return 0;
    if(Tree1->c != Tree2->c)
        return 1;
    return (compTree(Tree1->left,Tree2->left) & compTree(Tree1->right,Tree2->right) |
    (compTree(Tree1->left,Tree2->right) & compTree(Tree1->right,Tree2->left));

}

 

Published 33 original articles · won praise 30 · views 20000 +

Guess you like

Origin blog.csdn.net/baidu_15547923/article/details/96701384