TADM2E 3.21
From Algorithm Wiki
<pre> bool compare(struct node* a, struct node* b) {
// 1. both empty -> true if (a==NULL && b==NULL) return(true);
// 2. both non-empty -> compare them
else if (a!=NULL && b!=NULL) { return( a->data == b->data && compare(a->left, b->left) && compare(a->right, b->right) ); }
// 3. one empty, one not -> false else return(false);
} </pre> --Max 06:41, 25 June 2010 (EDT)