Menu
CoddyTech

平衡树

Coddy 二叉树:数据结构系列第 3 篇 课程的第 11 课,共 13 课。

接下来的挑战会用到你构建的 BinaryTree。使用提供的实现来解答这些挑战。

challenge icon

挑战

简单

编写一个名为 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;
}

二叉树:数据结构系列第 3 篇中的所有课

自己练习: C 在线编译器