Given two binary trees, return true if they are structurally identical -- they are made of nodes with the same values arranged in the same way.
/*
* Compare two binary tree and return true if they are
* structurally identical.
*/
int sameTree(nodeptr a, nodeptr b)
{
if(a == NULL && b == NULL)
return 1;
else if((a == NULL && b != NULL) || (a != NULL && b == NULL))
return 0;
else {
return (a->data == b->data && sameTree(a->left, b->left) &&
sameTree(a->right, b->right));
}
}
/*
* Compare two binary tree and return true if they are
* structurally identical.
*/
int sameTree(nodeptr a, nodeptr b)
{
if(a == NULL && b == NULL)
return 1;
else if((a == NULL && b != NULL) || (a != NULL && b == NULL))
return 0;
else {
return (a->data == b->data && sameTree(a->left, b->left) &&
sameTree(a->right, b->right));
}
}
No comments:
Post a Comment