int isomorphic (const Tree t1, const Tree t2) { if (NULL == t1 || NULL == t2) return NULL == t1 && NULL == t2 ; else if (t1 -> item != t2 -> item) return 0 ; else return isomorphic (t1 -> left, t2 -> left) && isomorphic (t1 -> right, t2 -> right) || isomorphic (t1 -> left, t2 -> right) && isomorphic (t1 -> right, t2 -> left) ; }