欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Convert Sorted Array to Binary Search Tree

程序员文章站 2022-12-24 13:46:28
上面是将有序数组转为二叉树的代码~ 二分查找的速度为O(log n), 遍历二叉树的速度为O(n) ......
/**
 * definition for a binary tree node.
 * function treenode(val) {
 *     this.val = val;
 *     this.left = this.right = null;
 * }
 */
/**
 * @param {number[]} nums
 * @return {treenode}
 */
var sortedarraytobst = function(nums) {
    if(!nums.length) return null;
    const result = new treenode(nums)
    return result
};

function treenode(nums) {
    if(nums.length){
        const middleindex = math.floor(nums.length/2)
        this.val = nums[middleindex];
        if(middleindex>0){
             this.left =  new treenode(nums.slice(0, middleindex));
        } else {
             this.left =  null
        }
        if(middleindex<nums.length-1){
            this.right = new treenode(nums.slice(middleindex+1));
       } else {
           this.right = null
       }
    } else { return null }
}

上面是将有序数组转为二叉树的代码~

二分查找的速度为o(log n), 遍历二叉树的速度为o(n)