首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不带参数的java中二叉树的高度

不带参数的java中二叉树的高度
EN

Stack Overflow用户
提问于 2013-10-15 01:26:31
回答 1查看 2.5K关注 0票数 0

我知道有很多函数需要找到,通过递归调用函数,每次使用节点的根作为参数,可以很容易地获得二进制搜索树的高度。但是,当我不接受Treap上的参数,但它仍然返回一个int时,我该怎么办呢?我已经能够递归地调用其他方法,但是这个方法停止了。如果能提供一些帮助,我们将不胜感激!

这就是我所拥有的,但我很大程度上认为这是错误的

代码语言:javascript
运行
复制
public int height()
{
    if(temp == null)
        return 0;
    else
    {
        temp = temp.left;
        temp = temp.right;
        return Math.max(height(), height()) + 1;
    }
}
EN

回答 1

Stack Overflow用户

发布于 2013-10-15 01:35:38

因为您正在编写Java,所以没有必要显式地传递参数:您得到一个“免费”的参数--即方法调用的目标对象。

为此,需要在树节点对象上定义height()方法。现在方法定义很简单:为了让Node对象知道它的height(),它需要返回

  • 您的左、右子树的高度越大,再加上节点本身的一个,或者
  • 如果左树和右子树都是null,则为一个。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19371888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档