如果把
if(b1&&b2) return true;
return false;
放到外面为什么不对呢
if(lt==NULL && rt!=NULL) return false;
else if(rt==NULL && lt!=NULL) return false;
else if(lt==NULL && rt==NULL) return true;
else if(lt->val != rt->val) return false;
else{
bool b1=compare(lt->left,rt->right);
bool b2=compare(lt->right,rt->left);
if(b1&&b2) return true;
return false;
}