How to find the maximum depth of a binary tree
The maximum depth of a binary tree is the number of nodes from the root node to the farthest leaf node. The maximum depth of a binary tree also called as the height of a binary tree.
Let's see an example.
What is the maximum depth of the binary tree? Based on the definition: is the number of nodes from the root node to the farthest
leaf node. The tree has two farthest the root to the leaf paths:
1 -> 3 -> 7
1 -> 3 -> 6
Each path has three nodes, so the maximum depth or height of a binary tree equals three
.
Algorithm
To count the maximum depth we can use recursion:
- Recursively calculate the height of the
binary tree
to theleft
of the root - Recursively calculate the height of the
binary tree
to theright
of the root - Take the maximum value from the heights of the
left
andright
subtrees and add one, to account the root node
Code
public int MaxDepth(TreeNode root)
{
if (root == null)
{
return 0;
}
int left = MaxDepth(root.Left);
int right = MaxDepth(root.Right);
return Math.Max(left, right) + 1;
}
Time Complexity: O(n)
Recent articles
Nice to read