java使用'递归查找二叉树的高度;对于';

java使用'递归查找二叉树的高度;对于';,java,tree,Java,Tree,我试图找到一个高度的二叉树用于 请帮帮我。 我用了深度,但不是这个 我应该在问号中添加什么 public static int height2(Tree T, Node v) { if(T.isLeaf(v)) return 0; int h = 0; for(?????) { //need help!!! h = Math.max(height2(T,v.get_childLeft()),height2(T,v.get_childRi

我试图找到一个高度的二叉树用于 请帮帮我。 我用了深度,但不是这个 我应该在问号中添加什么

public static int height2(Tree T, Node v) {
    if(T.isLeaf(v))
        return 0;

    int h = 0;
    for(?????) {  //need help!!!
        h = Math.max(height2(T,v.get_childLeft()),height2(T,v.get_childRight()));
    }

    return 1+h;
}

我认为您不需要为使用
。它是二进制三,每个节点有两个最大的子节点,所以我认为这条线

    h = Math.max(height2(T,v.get_childLeft()),height2(T,v.get_childRight()));

可能不在循环中。你试过了吗?

只计算
childLeft
childRight
高度的递归方法。对于二叉树,我们取最大两个高度。因此,对单个迭代语句使用
for
是没有意义的

你只要把这个还给我就行了

返回1+Math.max(高度2(T,v.get_childLeft()),高度2(T,v.get_childRight())


干杯。

您真的需要一个for循环吗?在我看来,删除for循环并让
h=Math.max(…
应该可以正常工作。你说得对!!谢谢你的建议!!