Balanced Tree
الدرس 11 من 13 في دورة Binary Tree - سلسلة هياكل البيانات #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;
}