Redian新闻
>
unique binary search II 这题目recursive解法可以么?复杂度是多少?
avatar
unique binary search II 这题目recursive解法可以么?复杂度是多少?# JobHunting - 待字闺中
T*7
1
unique binary search II 这题目recursive解法可以么?复杂度是多少?
import java.util.ArrayList;
import java.util.List;
public class T95 {
public List generateTrees(int n) {
return genTrees(1,n);
}
public List genTrees (int start, int end)
{
List list = new ArrayList();
if(start>end)
{
list.add(null);
return list;
}
if(start == end){
list.add(new TreeNode(start));
return list;
}
List left,right;
for(int i=start;i<=end;i++)
{
left = genTrees(start, i-1);
right = genTrees(i+1,end);
for(TreeNode lnode: left)
{
for(TreeNode rnode: right)
{
TreeNode root = new TreeNode(i);
root.left = lnode;
root.right = rnode;
list.add(root);
}
}
}
return list;
}

public static void main(String[] args){
T95 t95 = new T95();
List l = new ArrayList<>();
l = (t95.generateTrees(3));
for(TreeNode tl : l) {
System.out.println(tl.val);
}
}
}
avatar
m*n
2
leetcode 估计可以过,
不过code有问题.
建的树不是独立的,大量TreeNode是被所有树shared.

【在 T******7 的大作中提到】
: unique binary search II 这题目recursive解法可以么?复杂度是多少?
: import java.util.ArrayList;
: import java.util.List;
: public class T95 {
: public List generateTrees(int n) {
: return genTrees(1,n);
: }
: public List genTrees (int start, int end)
: {
: List list = new ArrayList();

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。