Balanced Tree
Урок 11 из 13 курса Бинарное дерево — Серия «Структуры данных» №3 на Coddy.
Следующие задачи используют BinaryTree, которое вы создали. Используйте предоставленную реализацию для их решения.
Задание
ЛегкоНапишите функцию с именем isBalanced, которая принимает строку, представляющую BinaryTree (рекурсивная форма [value, leftSubtree, rightSubtree], где null означает пустое дерево), и возвращает true, если дерево сбалансировано, иначе false. Дерево считается сбалансированным, если для каждого узла высота его двух поддеревьев различается не более чем на 1.
Попробуйте сами
#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;
}