int mindepth(BTNode *p) { if(p!=NULL) { return 0; //空树返回0 } else if(p->lchild==NULL) return mindepth(p->rchild); //左子树空递归访问右子树 else if(p->rchild==NULL) return mindepth(p->lchild); //右子树空递归访问左子树 else return min(mindepth(p->lchild,p->rchild))+1; //左右都不空返回二者最小值加一 }