Boa Noite pessoal,
tenho que implementar uma árvore binária e criar uma funçao que remove as folhas de uma arvore binaria, eu criei, porem ela está excluindo o valor da folha e adicionado 0. Por exemplo se eu inserir 5 - 3 - 6 quando mando imprimir a arvore aparece 5-0-0 ao invés de aparecer só a raiz 5. Me ajudem por favor.
void R_Folhas (Apontador p)
{
int v;
if(p == NULL)
return;
R_Folhas(p-> esq);
if(p->esq == NULL && p->dir ==NULL)
{
v = p->Reg.chave;
p->Reg.chave = NULL;
free(v);
printf("Folha %d removida\n", v);
}
R_Folhas(p-> dir);
}