File tree Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Original file line number Diff line number Diff line change
1
+ package com .gatsby ;
2
+
3
+ import java .util .ArrayList ;
4
+ import java .util .List ;
5
+
6
+ /**
7
+ * @ClassName: _95UniqueBinarySearchTreesII
8
+ * @Description:
9
+ * @author: Gatsby
10
+ * @date: 2022/8/4 9:51
11
+ */
12
+
13
+ public class _95UniqueBinarySearchTreesII {
14
+
15
+
16
+ public List <TreeNode > generateTrees (int n ) {
17
+
18
+ if (n == 0 ) return new ArrayList <>();
19
+ else return generateTrees (1 , n );
20
+ }
21
+
22
+ public List <TreeNode > generateTrees (int start , int end ) {
23
+ List <TreeNode > res = new ArrayList <>();
24
+
25
+ if (start > end ) {
26
+ res .add (null );
27
+ return res ;
28
+ }
29
+
30
+ for (int i = start ; i <= end ; ++i ) {
31
+ List <TreeNode > left = generateTrees (start , i - 1 );
32
+ List <TreeNode > right = generateTrees (i + 1 , end );
33
+
34
+ for (TreeNode l : left ) {
35
+ for (TreeNode r : right ) {
36
+ TreeNode node = new TreeNode (i );
37
+ node .left = l ;
38
+ node .right = r ;
39
+ res .add (node );
40
+ }
41
+ }
42
+
43
+ }
44
+ return res ;
45
+ }
46
+ }
47
+
48
+
You can’t perform that action at this time.
0 commit comments