The maximum depth of a binary tree is defined as the number of nodes along the longest path from the root node to the farthest leaf node. It is the height of the binary tree. Let’s look at some examples to find the depth of a binary tree.

/*
Asymptotic complexity in terms of the number of nodes `n`.
* Time: O(n).
* Auxiliary space: O(n).
* Total space: O(n).
*/
int height_of_binary_tree(BinaryTreeNode *root) {
if (root == NULL) {
return 0;
}
int left_subtree_height =
height_of_binary_tree(root->left);
int right_subtree_height =
height_of_binary_tree(root->right);
return max(left_subtree_height, right_subtree_height) + 1;
}

We hope that this solution to finding Maximum Depth of a Binary Tree problem will help you level up your coding skills. Companies such as Goldman Sachs, Facebook, Microsoft, and Oracle include Maximum Depth/Height of a Binary Tree interview questions in their tech interviews.

If you are preparing for a tech interview at FAANG or any other Tier-1 tech company, register for Interview Kickstart’s FREE webinar to understand the best way to prepare.

Interview Kickstart offers interview preparation courses taught by FAANG+ tech leads and seasoned hiring managers. Our programs include a comprehensive curriculum, unmatched teaching methods, FAANG+ instructors, and career coaching to help you nail your next tech interview.

We offer 17 interview preparation courses, each tailored to a specific engineering domain or role, including the most in-demand and highest-paying domains and roles, such as: