We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent ea2d436 commit 3973a39Copy full SHA for 3973a39
solution/0095.Unique Binary Search Trees II/Solution.java
@@ -0,0 +1,26 @@
1
+class Solution {
2
+ public List<TreeNode> generateTrees(int n) {
3
+ if (n <= 0) return new ArrayList<>();
4
+ return generateTrees(1, n);
5
+ }
6
+ private List<TreeNode> generateTrees(int left, int right) {
7
+ List<TreeNode> list = new ArrayList<>();
8
+ if (left > right) {
9
+ list.add(null);
10
+ } else {
11
+ for (int i = left; i <= right; i++) {
12
+ List<TreeNode> leftTrees = generateTrees(left, i - 1);
13
+ List<TreeNode> rightTrees = generateTrees(i + 1, right);
14
+ for (TreeNode l : leftTrees) {
15
+ for (TreeNode r : rightTrees) {
16
+ TreeNode root = new TreeNode(i);
17
+ root.left = l;
18
+ root.right = r;
19
+ list.add(root);
20
21
22
23
24
+ return list;
25
26
+}
0 commit comments