find height of a node in binary tree code example
Example 1: height of a binary tree
int height(Node* root)
{
// Base case: empty tree has height 0
if (root == nullptr)
return 0;
// recur for left and right subtree and consider maximum depth
return 1 + max(height(root->left), height(root->right));
}
Example 2: find height of a tree
// finding height of a binary tree in c++.
int maxDepth(node* node)
{
if (node == NULL)
return 0;
else
{
/* compute the depth of each subtree */
int lDepth = maxDepth(node->left);
int rDepth = maxDepth(node->right);
/* use the larger one */
if (lDepth > rDepth)
return(lDepth + 1);
else return(rDepth + 1);
}
}
Example 3: height of binary tree
# define a Class Tree, to intiate the binary tree
class TreeNode:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
def height(root):
# Check if the binary tree is empty
if root is None:
# If TRUE return 0
return 0
# Recursively call height of each node
leftAns = height(root.left)
rightAns = height(root.right)
# Return max(leftHeight, rightHeight) at each iteration
return max(leftAns, rightAns) + 1
# Test the algorithm
root = TreeNode(1)
root.left = TreeNode(2)
root.right = TreeNode(3)
root.left.left = TreeNode(4)
print("Height of the binary tree is: " + str(height(root)))