【LeetCode热题100(42/100)】将有序数组转换为二叉搜索树
题目地址:链接
思路: 使用 二分思想 + 递归 构建儿茶搜索树
/*** Definition for a binary tree node.* function TreeNode(val, left, right) {* this.val = (val===undefined ? 0 : val)* this.left = (left===undefined ? null : left)* this.right = (right===undefined ? null : right)* }*/
/*** @param {number[]} nums* @return {TreeNode}*/
var sortedArrayToBST = function(nums) {let n = nums.length;function dfs(l, r) {let mid = (l + r) >> 1;let root = new TreeNode(nums[mid]);if(l <= mid - 1) root.left = dfs(l, mid - 1);if(mid + 1 <= r) root.right = dfs(mid + 1, r);return root}let ans = dfs(0, nums.length - 1);return ans;
};