判断二叉树是否同构

来源:互联网 发布:淘宝的彪马官方旗舰店 编辑:程序博客网 时间:2024/05/16 14:56


思路:利用树的递归性质,两棵树,只要左右儿子树分别同构,则这两棵树就同构了。

        用同样的遍历方式,同时遍历两个树,若一个到了叶子节点NULL,

      而另一个却没有,则表示,这两棵树不同构了。

 

代码:

bool isSameTree(node* root1, node* root2)
{
 if (root1 == NULL && root2 == NULL)
 {
     return true;
 }

 if (root1 != NULL && root2 != NULL)
 {
     return (isSameTree(root1->left, root2->left)

             && isSameTree(root1->right, root2->right));
 }
 
     return false;
};

思路:利用树的递归性质,两棵树,只要左右儿子树分别同构,则这两棵树就同构了。

        用同样的遍历方式,同时遍历两个树,若一个到了叶子节点NULL,

      而另一个却没有,则表示,这两棵树不同构了。

 

代码:

bool isSameTree(node* root1, node* root2)
{
 if (root1 == NULL && root2 == NULL)
 {
     return true;
 }

 if (root1 != NULL && root2 != NULL)
 {
     return (isSameTree(root1->left, root2->left)

             && isSameTree(root1->right, root2->right));
 }
 
     return false;
};

0 0
原创粉丝点击