Você está na página 1de 1

Rafael Mota 113620

#include <stdio.h>
#include <stdlib.h>
typedef struct Node {
int valor;
struct Node *subarvore1;
struct Node *subarvore2;
struct Node *subarvore3;
} Node;

typedef Node ARV;

int contarNodosFolhas(Node *no) {


if (no == NULL) {
return 0;
}
if (no->subarvore1 == NULL && no->subarvore2 == NULL && no->subarvore3 == NULL)
{
return 1;
}
int contador = 0;
contador += contarNodosFolhas(no->subarvore1);
contador += contarNodosFolhas(no->subarvore2);
contador += contarNodosFolhas(no->subarvore3);
return contador;
}

int main() {
ARV *raiz = (ARV *)malloc(sizeof(ARV)); // Exemplo de alocação de nó
raiz->valor = 10; // Defina os campos de dados apropriados
raiz->subarvore1 = NULL;
raiz->subarvore2 = NULL;
raiz->subarvore3 = NULL;

int quantidadeFolhas = contarNodosFolhas(raiz);


printf("A arvore possui %d nos folhas.\n", quantidadeFolhas);
return 0;
}

Você também pode gostar