Em um reino distante chamado Floresta de Galdoria Antiga, existe uma mágica e gigantesca árvore. Esta árvore é especial pois seus galhos formam uma complexa estrutura binária, conhecida como “Árvore Binária da Vida”. As folhas dessa árvore são extremamente valiosas, cada uma contendo um segredo da natureza. A rainha do reino, preocupada com a saúde da Árvore da Vida, convoca o Guardião das Árvores para uma importante missão: contar o número de folhas que a árvore possui.
Uma folha, na Árvore da Vida, é um galho que não se ramifica mais, ou seja, é um galho que não possui filhos, nem à esquerda, nem à direita.
Assim, o Guardião deve reportar à rainha um único número inteiro que representa a quantidade de folhas na Árvore da Vida. Para ajudá-lo, ele convocou você, um experiente programador do Departamento de Estrutura de Dados do reino. Ajude o Guardião das Árvores a escrever uma função que busque as folhas da árvore e contabilize-as.
Sua tarefa nesse exercício é implementar uma função que retorne a quantidade de folhas de uma árvore binária com raiz r. Para tanto, você deve submeter um arquivo contendo apenas:
Os #include necessários para execução das instruções utilizadas no seu código.
A definição da struct no.
typedef struct no {
int chave;
struct no *esq, *dir;
} no;int numero_folhas(no *r);