二进制搜索树 - 插入

时间:2015-09-27 10:28:44

标签: java algorithm data-structures binary-tree binary-search-tree

  

您将获得指向二叉搜索树的根的指针以及要插入树中的值。将此值插入二叉搜索树中的适当位置,并返回更新的二叉树的根。你只需要完成这个功能。

我已经提供了我的代码但是一个测试用例不起作用。这是我的代码:

grants.map(
 function (v) {
    if (!(v.id in this)) {
        // => initialize if empty
        v.type = v.type || [];
        v.funds = v.funds || [];
        this[v.id] = v;
        projects.push(v);
    } else {
        var current = this[v.id];
        current.type = v.type ? [v.type].concat(current.type) : current.type;
        current.funds = v.funds ? [v.funds].concat(current.funds) : current.funds;
    }
 }, {});

1 个答案:

答案 0 :(得分:3)

你错过了两个案例:IteratorWrapper和空树。

it:在这种情况下,树不会以任何方式被更改,但是您的代码不会中断并最终处于无限循环中。

最简单的解决方案是在value == d.data循环中插入这些行:

value == d.data

树是空的情况是特定于实现的,因此很难为此案例提出任何解决方案。