二叉树的高度是从根节点到最远离根节点的子节点的距离。
下面是一个示例:
2 <-- root: Height 1
/ \
7 5 <-- Height 2
/ \ \
2 6 9 <-- Height 3
/ \ /
5 11 4 <-- Height 4
二叉树的高度:4
二叉树的定义
树是一个对象,其中包含一个带符号的整数值以及另外两个树或指向它们的指针。
二叉树结构的结构如下所示:
typedef struct tree
{
struct tree * l;
struct tree * r;
int v;
} tree;
挑战:
输入值
二叉树的根
输出量
代表二叉树高度的数字
假设您将二叉树的根作为输入,编写最短的程序来计算二叉树的高度并返回高度。字节数最少的程序(占空格)获胜。
h
。为此挑战,最好定义仅由列表组成的特定结构。
[root_value, left_node, right_node]
其中left_node
和right_node
也是可接受的二叉树?它在许多语言中都是微不足道的,但在其他一些语言中可能会很有趣。
a tree is an object that contains a value and either two other trees or pointers to them
。包含没有对象的语言的定义也将是很好的。