Solution #1: 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