/** * 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)
您可能感兴趣的文章:
如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!
网友评论