【发布时间】:2018-02-12 10:16:47
【问题描述】:
我有一个数组var array = [8,10,12,5,3,6];
逻辑
- 第一个节点是根节点。
- 如果新节点值小于或等于
=<父节点,则为父节点的左节点 - 如果新节点值
>大于父节点,则为父节点的右节点
我正在尝试实现如下对象的输出:
{
value:8,
left:{
value:5,
left:{ value:3 },
right:{value:6}
},
right:{
value:10,
right:{value:12}
}
}
这会是这样的图像
我试过下面的代码:
var arr = [8,10,12,5,3,6];
var root = arr[0];
var rv = {};
for (var i = 0; i < arr.length; i++){
if(arr[i] < root){
rv.left = arr[i];
}else{
rv.right = arr[i];
}
}
console.log(rv);
请帮我解决这个问题。
【问题讨论】:
-
你试过的代码的输出是什么?
标签: javascript arrays tree binary-tree