Skip to content

Commit

Permalink
95. 不同的二叉搜索树 II
Browse files Browse the repository at this point in the history
  • Loading branch information
BGMer7 committed Aug 4, 2022
1 parent 348e1f2 commit 9fb2af3
Showing 1 changed file with 48 additions and 0 deletions.
48 changes: 48 additions & 0 deletions src/com/gatsby/_95UniqueBinarySearchTreesII.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package com.gatsby;

import java.util.ArrayList;
import java.util.List;

/**
* @ClassName: _95UniqueBinarySearchTreesII
* @Description:
* @author: Gatsby
* @date: 2022/8/4 9:51
*/

public class _95UniqueBinarySearchTreesII {


public List<TreeNode> generateTrees(int n) {

if (n == 0) return new ArrayList<>();
else return generateTrees(1, n);
}

public List<TreeNode> generateTrees(int start, int end) {
List<TreeNode> res = new ArrayList<>();

if (start > end) {
res.add(null);
return res;
}

for (int i = start; i <= end; ++i) {
List<TreeNode> left = generateTrees(start, i - 1);
List<TreeNode> right = generateTrees(i + 1, end);

for (TreeNode l : left) {
for (TreeNode r : right) {
TreeNode node = new TreeNode(i);
node.left = l;
node.right = r;
res.add(node);
}
}

}
return res;
}
}


0 comments on commit 9fb2af3

Please sign in to comment.