gpt4 book ai didi

Java搜索整棵树寻找最小值

转载 作者:行者123 更新时间:2023-11-30 04:27:36 25 4
gpt4 key购买 nike

这不是二叉搜索树,并且不遵循任何严格的规则。

唯一的规则是每个节点都是正整数,并且每个节点可以没有子节点、一个左子节点或两个子节点。 (不仅仅是右 child )。

我想使用递归遍历整个树并返回完成后找到的最小值。

如果您没有修改方法的签名或使用除 Math.min() 之外的任何额外方法,我将不胜感激

public static int minValue(MyNode n) {
int root, left, right;
int min = -1;
if (n.obj != null) {
root = (int) n.obj;
left = minValue(n.left);
right = minValue(n.right);
if (left < right)
min = left;
else
min = right;
if (root < min)
min = root;
}
return min;
}

最佳答案

也许问题是,对于不存在的 child ,你返回-1,但后来你不考虑这种可能性。您需要从分析中删除 -1:

public static int minValue(MyNode n) {
int root, left, right;
int min = -1;
if (n != null) {
root = (int) n.obj;
left = minValue(n.left);
right = minValue(n.right);
if (left > -1){
if(right > -1){
min = Math.min(left, right);
min = Math.min(root, min);
}
else{
min = Math.min(left, root);
}
}
else{
min = root;
}
}
return min;
}

关于Java搜索整棵树寻找最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15467433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com