We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 0fc29b1 commit d50091bCopy full SHA for d50091b
894-all-possible-full-binary-trees.js
@@ -0,0 +1,35 @@
1
+/**
2
+ * Definition for a binary tree node.
3
+ * function TreeNode(val) {
4
+ * this.val = val;
5
+ * this.left = this.right = null;
6
+ * }
7
+ */
8
9
+ * @param {number} N
10
+ * @return {TreeNode[]}
11
12
+const allPossibleFBT = function(N) {
13
+ if (N <= 0) {
14
+ return []
15
+ }
16
+ const dp = new Array(N + 1)
17
+ for (let i = 0; i <= N; i++) {
18
+ dp[i] = []
19
20
+ dp[1].push(new TreeNode(0))
21
+
22
+ for (let numNode = 1; numNode <= N; numNode += 2) {
23
+ for (let leftNode = 1; leftNode < numNode; leftNode += 2) {
24
+ for (let left of dp[leftNode]) {
25
+ for (let right of dp[numNode - 1 - leftNode]) {
26
+ let root = new TreeNode(0)
27
+ root.left = left
28
+ root.right = right
29
+ dp[numNode].push(root)
30
31
32
33
34
+ return dp[N]
35
+};
0 commit comments