A symmetric binary tree is one where if you draw a vertical line passing through the root node then the left half should be the mirror image of the right half. Here is the recursive code,
int isSymmetric(struct node* l, struct node* r)
{
if((l == NULL) && (r == NULL))
return 1;
if(((l == NULL) && (r != NULL)) ||
((l != NULL) && (r == NULL)))
return 0;
return isSymmetric(l->left, r->right) && isSymmetric(l->right, r->left);
}
No comments:
Post a Comment