Redian新闻
>
Relink过程中可以换工作吗?
avatar
Relink过程中可以换工作吗?# EB23 - 劳工卡
h*o
1
进行到第三次的build的时候,beg,end应该分别 为 2,1,此时应该返回,为什么 end
是3呢。。。
看了许久了,请大家帮忙看看问题在哪儿
public static TreeNode buildBST(int[] preorder){
if(preorder.length==0)
return null;
return buildBST(preorder,0, preorder.length-1);
}
public static TreeNode buildBST(int[] preorder, int beg, int end){

if(beg>end)
return null;
//System.out.println(beg+" "+end);
TreeNode root=new TreeNode(preorder[beg]);
int index=-1;
for(int i=beg;i<=end;i++){
if(preorder[i]>root.val){
index=i;
break;
}
}
//System.out.println(index);
root.left=buildBST(preorder, beg+1, index-1);
root.right=buildBST(preorder, index, end);

return root;


}
avatar
F*n
2
EB2排期快到了,可是我也不得不换工作了。在Relink过程中换工作会有问题吗?还有
,我的EB3 140还没有批,可以relink吗?
avatar
w*o
3
只给preorder不能保证唯一的BST。
如果只是构建任意一个符合条件的BST,把
int index=-1;
改成
int index = end + 1;
就好了。
avatar
h*o
4
是唯一确定的吧。。。
这是bst啊
为什么改成end+1 就好了呢?

【在 w***o 的大作中提到】
: 只给preorder不能保证唯一的BST。
: 如果只是构建任意一个符合条件的BST,把
: int index=-1;
: 改成
: int index = end + 1;
: 就好了。

avatar
l*b
5
用到整数比较了,也就是大小给定。这就是in order了

【在 w***o 的大作中提到】
: 只给preorder不能保证唯一的BST。
: 如果只是构建任意一个符合条件的BST,把
: int index=-1;
: 改成
: int index = end + 1;
: 就好了。

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