我知道有很多函数需要找到,通过递归调用函数,每次使用节点的根作为参数,可以很容易地获得二进制搜索树的高度。但是,当我不接受Treap上的参数,但它仍然返回一个int时,我该怎么办呢?我已经能够递归地调用其他方法,但是这个方法停止了。如果能提供一些帮助,我们将不胜感激!
这就是我所拥有的,但我很大程度上认为这是错误的
public int height()
{
if(temp == null)
return 0;
else
{
temp = temp.left;
temp = temp.right;
return Math.max(height(), height()) + 1;
}
}发布于 2013-10-15 01:35:38
因为您正在编写Java,所以没有必要显式地传递参数:您得到一个“免费”的参数--即方法调用的目标对象。
为此,需要在树节点对象上定义height()方法。现在方法定义很简单:为了让Node对象知道它的height(),它需要返回
null,则为一个。https://stackoverflow.com/questions/19371888
复制相似问题