思路:模拟 本题需要构建出三叉树的结构,根据题面逻辑构建树即可。
三叉树节点定义:
val - 节点值 height - 节点所在高度 left - 左子树 mid - 中子树 right - 右子树
定义构造三又搜索树规则如下
每个节点都存有一个数,当插入一个新的数时,从根节点向下寻找,直到找到一个合适的空节点插入。查找的规则是:
1.如果数小于节点的数减去500,则将数插入节点的左子树
2.如果数大于节点的数加上500,则将数插入节点的右子树
3.否则,将数插入节点的中子树
给你一系列数,请按以上规则,按顺序将数插入树中,构建出一棵三叉搜索树,最后输出树的高度。
第一行为一个数 N,表示有 N 个数,1≤N≤10000
第二行为 N 个空格分隔的整数,每个数的范围为[1,10000]
输出树的高度 (根节点的高度为1)
输入
5
5000 2000 5000 8000 1800
输出
3
说明
最终构造出的树如下高度为3:
输入
3
5000 4000 3000
输出
3
说明
最终构造出的树如下高度为3:
输入
9
5000 2000 5000 8000 1800 7500 4500 1400 8100
输出
4
说明
最终构造出的树如下高度为4: