BTHEIGHT - Editorial

Prerequisites: Binary Trees, Binary Trees Traversal Techniques.

Problem: Given a connected binary tree with N nodes, find the height of it.
(Note: The height of a binary tree is the number of edges between the tree’s root and its furthest leaf.)

Solution Approach:
We know that the height of a binary tree is the number of edges between the tree’s root and its furthest leaf.
Similarly, the depth of a binary tree is the number of nodes between the tree’s root and its furthest leaf.

So basically, height of the tree = max(0, depth of the tree - 1);

We can traverse the tree down in a postorder manner and keep track of depth of the root,
Once we get the depth, return the height using the above equation.

It will become more clear once we take a look at the solution.

Time Complexity: O(N), as we need to traverse each node at least once.
Space Complexity: O(1), as we don’t need any extra space.