删除二叉树所有叶节点

需要记录t的父节点

void delete(bitree &t,binode *p){//p初始为空
 if(t==null) return ;
 if(t->lchild==null&&t->rchlid==null) {//如果为叶节点
  if(p=null) //该树只有根节点
   free(t);
  else {
   free(t);
   p->lchild=null;
   p->rchild=null;
  }
 }
 else {
  p=t;
  delete(t->lcihld,p);
  delete(t->rchild,p);
  }
 }
}

版权声明:本文为qq_36447866原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。