思路:利用树的递归性质,两棵树,只要左右儿子树分别同构,则这两棵树就同构了。
用同样的遍历方式,同时遍历两个树,若一个到了叶子节点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;
};