Balanced Tree
Leçon 11 sur 13 du cours Arbre binaire - Structures de données n°3 de Coddy.
Les prochains défis utilisent l'BinaryTree que vous avez construit. Utilisez l'implémentation fournie pour les résoudre.
Défi
FacileÉcrivez une fonction nommée isBalanced qui reçoit une chaîne de caractères représentant un BinaryTree (sous la forme récursive [value, leftSubtree, rightSubtree], avec null pour les arbres vides) et renvoie true si l'arbre est équilibré, sinon false. Un arbre est équilibré si, pour chaque nœud, les hauteurs de ses deux sous-arbres diffèrent d'au plus 1.
Essayez vous-même
#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;
}