According to Wikipedia,
The height of a tree is the length of the path from the root to the deepest node in the tree. A (rooted) tree with only one
Assuming you are calculating the height in a recursive manner in the node class I would do this to return the height without including height of the root (java code):
int height(){
int leftHeight = 0;
int rightHeight = 0;
if(left != null)
leftHeight =+ left.height() + 1;
if(right != null)
rightHeight =+ right.height() + 1;
return Math.max(leftHeight, rightHeight);
}
if you want to include the height of the root, then I would do this:
int height(){
int leftHeight = 0;
int rightHeight = 0;
if(left != null)
leftHeight =+ left.height();
if(right != null)
rightHeight =+ right.height();
return Math.max(leftHeight, rightHeight) + 1;
}