1
var generateTrees = function (n) {
2
if (n <= 0) {
3
return [];
4
}
5
return generateRec(1, n);
6
};
7

8
function generateRec(start, end) {
9
let result = [];
10

11
if (start > end) {
12
result.push(null);
13
return result;
14
}
15

16
for (let i = start; i < end + 1; i++) {
17
let left = generateRec(start, i - 1);
18
let right = generateRec(i + 1, end);
19

20
for (let l = 0; l < left.length; l++) {
21
for (let r = 0; r < right.length; r++) {
22
let root = new TreeNode(i, left[l], right[r]);
23
result.push(root);
24
}
25
}
26
}
27
return result;
28
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0