bool haspathsum(BTNode *p,int sum) { if(p=NULL) return false; //树空一定错误 if(p->lchild==NULL&&p->rchild==NULL) return p->data==sum; //树的左右子树空,比较根节点的数据是否与sum相同 return haspathsum(p->lchild,sum-p->data)||haspathsum(p->rchild,sum-p->data); }