给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。

高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。

image.png

递归

  1. var sortedArrayToBST = function (nums) {
  2. const buildTree = (Arr, left, right) => {
  3. if (left > right)
  4. return null;
  5. let mid = Math.floor(left + (right - left) / 2);
  6. let root = new TreeNode(Arr[mid]);
  7. root.left = buildTree(Arr, left, mid - 1);
  8. root.right = buildTree(Arr, mid + 1, right);
  9. return root;
  10. }
  11. return buildTree(nums, 0, nums.length - 1);
  12. };