比较两棵树,是否相等?

数据结构如下:

typedef struct TreeNode

{

    char c;

    TreeNode *leftchild;

    TreeNode *rightchild;

}

程序如下:

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));

}
发布了33 篇原创文章 · 获赞 30 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/baidu_15547923/article/details/96701384
今日推荐