题目给出一个 TreeNode 的构造函数(也是树的数据结构)
function TreeNode(val) {
this.val = val;
this.left = this.right = null;
}
二分递归 =>
function TreeNode(val) {
this.val = val;
this.left = this.right = null;
}
var sortedArrayToBST = function(nums) {
if (!nums.length) return null; // 如果数组长度为0返回null
const createTree = (left, right) => {
if (left > right) return null;
let mid = Math.floor((left + right) / 2); // 将数组一分为二
let root = new TreeNode(nums[mid]);
root.left = createTree(left, mid - 1);
root.right = createTree(mid + 1, right);
return root;
}
return createTree(0, nums.length - 1);
};
console.log(sortedArrayToBST([-10, -3, 0, 5, 9]));
感谢观看 期待关注
关注我,带你一起写bug
warning :未经授权,不得转载
有问题的小伙伴请在下方留言,喜欢就点个赞吧