如何在java

时间:2015-04-30 15:01:20

标签: java avl-tree

我试过这个功能

private int height(AVLNode t )
{
    return t == null ? -1 : t.height;
}

我不知道那个方法可以解释的是什么?

4 个答案:

答案 0 :(得分:2)

默认方法是使用递归来确定高度。

private int height(AVLNode t) {
    return t == null ? -1 : 1 + Math.max(height(t.left), height(t.right));
}

答案 1 :(得分:1)

返回AVLNode的高度。如果AVLNode为null,则返回-1。如果AVLNode不为null,则返回AVLNode的高度。

答案 2 :(得分:1)

该方法返回AVLNode的高度,否则返回-1。第return t == null ? -1 : t.height行是ternary operator

相当于

if (t == null) {
    return -1
} else {
    return t.height
}

答案 3 :(得分:0)

private int height(AVLNode t) {

        if (t == null) {
            return 0;
        }

        return 1 + Math.max((t.getLeft() != null ? t.getLeft().getHeight() : -1),
                (t.getRight() != null ? t.getRight().getHeight() : -1));

}