leetcode-108-将有序数组转换为二叉搜索树

在这里插入图片描述
题目给出一个 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 :未经授权,不得转载

有问题的小伙伴请在下方留言,喜欢就点个赞吧

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章