我在java中有这个类用于树的节点
public class Node {
Node (int v, Node lt, Node rt){
value = v;
left = lt;
right = rt;
height = 0;
parent = null;
}
Node (int v){
this (v, null, null);
}
int value;
int height;
Node left;
Node right;
Node parent;
}
此节点的高度为(this.right.height - this.left.height)
如果孩子是正确的孩子,和只有1个孩子并且它的孩子是叶子的节点的高度是1,如果孩子是节点的孩子,则是-1
我该怎么做?
(我想写一个avl树)
答案 0 :(得分:0)
尝试以下
public int height(Node root){
if(root == null)return 0;
return 1+Max(height(root.left),height(root.right));
}
heightDifference = (height(this.right) - height(this.left))