【码不停题3.15】先序遍历构造二叉树

返回与给定先序遍历 preorder 相匹配的二叉搜索树(binary search tree)的根结点。

输入:[8,5,1,7,10,12]
输出:[8,5,10,1,7,null,12]

var bstFromPreorder = function(preorder) {
    if (preorder.length == 0) return null
    let val = preorder.shift()
    let node = new TreeNode(val)
    node.left = bstFromPreorder(preorder.filter(num => num < val))
    node.right = bstFromPreorder(preorder.filter(num => num > val))
    return node
};

提示:第一行判断不能写成 `if (!preorder)!!

猜你喜欢

转载自blog.csdn.net/MmmTHU/article/details/88580881