给你一个整数 n,请你生成并返回所有由 n 个节点组成且节点值从 1 到 n 互不相同的不同二叉搜索树。
解析
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
var generateTrees = function (n) { functionbuild(lo, hi) { if (lo > hi) return [null]; const trees = []; for (let i = lo; i <= hi; i++) { for (const left ofbuild(lo, i - 1)) { for (const right ofbuild(i + 1, hi)) { const root = newTreeNode(i, left, right); trees.push(root); } } } return trees; } returnbuild(1, n); };