平衡树
Coddy 二叉树:数据结构系列第 3 篇 课程的第 11 课,共 13 课。
接下来的挑战会用到你构建的 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;
}
二叉树:数据结构系列第 3 篇中的所有课
自己练习: C 在线编译器