Balanced Tree
Lição 11 de 13 do curso Árvore Binária - Série de Estruturas de Dados #3 da Coddy.
Os próximos desafios usam a BinaryTree que você construiu. Use a implementação fornecida para resolvê-los.
Desafio
FácilEscreva uma função chamada isBalanced que recebe uma string representando uma BinaryTree (forma recursiva [value, leftSubtree, rightSubtree], com null para vazio) e retorna true se a árvore estiver balanceada, caso contrário, false. Uma árvore é balanceada se, para cada nó, as alturas de suas duas subárvores diferirem em no máximo 1.
Experimente você mesmo
#include <stdio.h>
#include <string.h>
#include "solution.h"
int main() {
char s[4096];
if (!fgets(s, sizeof(s), stdin)) s[0] = '\0';
s[strcspn(s, "\r\n")] = '\0';
printf("%s\n", isBalanced(s) ? "true" : "false");
return 0;
}