将升序数组转化为平衡二叉搜索树

题目:给出一个升序排序的数组,将其转化为平衡二叉搜索树(BST)

思路:

代码:

 1 /*
 2  * function TreeNode(x) {
 3  *   this.val = x;
 4  *   this.left = null;
 5  *   this.right = null;
 6  * }
 7  */
 8 
 9 /**
10   * 
11   * @param num int整型一维数组 
12   * @return TreeNode类
13   */
14 function sortedArrayToBST( num ) {
15     // write code here
16     if(num.length === 0){
17         return null;
18     }
19     let mid = Math.floor(num.length/2);
20     let root = new TreeNode(num[mid]);
21     root.left = sortedArrayToBST(num.slice(0,mid));
22     root.right = sortedArrayToBST(num.slice(mid+1, num.length));
23     return root;
24 }
25 module.exports = {
26     sortedArrayToBST : sortedArrayToBST
27 };

 

posted @ 2021-05-24 14:26  icyyyy  阅读(91)  评论(0)    收藏  举报