【发布时间】:2020-03-17 07:44:48
【问题描述】:
我试图递归地找到二叉树中的最小值(不是二叉搜索树)。让我困惑的是基本情况。如果 TreeNode t 为空,返回什么?由于我将使用返回的值将其与当前的最小值(我认为)进行比较,我相信我返回的内容很重要。
public static Object min(TreeNode t)
{
if(t == null)
return ;
else
instantiate an object named mini
compare it to min(t.getLeft())
if mini is greater than it, mini equals t.getLeft()
compare mini to t.getRight())
if mini is greater, mini equals t.getRight
return mini
}
【问题讨论】:
-
我对 Java 中的 TreeNode 一无所知,但如果一个对象为空,我只会返回 -1 或可能为 0。
-
如上所述,+infinity 是正确的。但我不确定这是您要问的正确问题,因为可能正确的方法不是递归到空节点。也许您可以显示其余的代码? (也比返回类型是Object有点奇怪)。
-
这不起作用,因为 0 可能大于当前最小值