CARVIEW |
Select Language
HTTP/2 307
date: Sat, 11 Oct 2025 19:15:44 GMT
content-type: text/html
content-length: 66
location: https://how.dev/answers/finding-the-maximum-depth-of-a-binary-tree
cf-ray: 98d0b01898e55917-BLR
cache-control: public, max-age=300, stale-while-revalidate=604800
referrer-policy: strict-origin-when-cross-origin
x-app-version: v251008-h-251010-1202
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
x-app-type: Learn
x-robots-tag: all
x-nextjs-cache: MISS
x-cloud-trace-context: e5f5f7ba5e3a84cc2ed87425b0f682eb
via: 1.1 google
alt-svc: h3=":443"; ma=86400
cf-cache-status: EXPIRED
set-cookie: __cf_bm=GcK7TbHV_hTRdGwg8oOOmycJBrncj3VkWsXvDsBA_9Q-1760210144-1.0.1.1-z3xkbngXnTG2Og.mppq5nKEp_tMtkhSToalQ7V7eKr8h5AMRNtCsN3SHwH_q0lcI_NtEsfvxT9hHarV.FKzKJpd6JuWiu4fpxKFv6m5W9f0; path=/; expires=Sat, 11-Oct-25 19:45:44 GMT; domain=.educative.io; HttpOnly; Secure; SameSite=None
vary: Accept-Encoding
strict-transport-security: max-age=31536000; includeSubDomains; preload
server: cloudflare
HTTP/2 200
referrer-policy: strict-origin-when-cross-origin
x-app-version: v251008-h-251010-1202
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
x-app-type: Learn
x-middleware-rewrite: /answers/howdev/finding-the-maximum-depth-of-a-binary-tree
x-nextjs-cache: HIT
x-cloud-trace-context: f88804e304810b9042f2add66b4dd213
server: Google Frontend
via: 1.1 google
content-encoding: gzip
date: Sat, 11 Oct 2025 03:54:49 GMT
cache-control: public, max-age=300, stale-while-revalidate=604800
etag: W/"s2jf321ppc1fehj"
content-type: text/html; charset=utf-8
vary: Accept-Encoding
age: 55255
x-cache-status: stale
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
Finding the maximum depth of a binary tree
Finding the maximum depth of a binary tree
The maximum depth of a binary tree is the number of nodes from the root down to the furthest leaf node. In other words, it is the height of a binary tree.
Consider the binary tree illustrated below:
The maximum depth, or height, of this tree is 4; node 7 and node 8 are both four nodes away from the root.
Algorithm
The algorithm uses recursion to calculate the maximum height:
- Recursively calculate the height of the tree to the left of the root.
- Recursively calculate the height of the tree to the right of the root.
- Pick the larger height from the two answers and add one to it (to account for the root node).
Code
#include <iostream>using namespace std;struct Node {int value;Node *left, *right;Node(int val){this->value = val;this->left = this->right = NULL;}};int maxDepth(Node * root){// Root being null means tree doesn't exist.if (root == NULL)return 0;// Get the depth of the left and right subtree// using recursion.int leftDepth = maxDepth(root->left);int rightDepth = maxDepth(root->right);// Choose the larger one and add the root to it.if (leftDepth > rightDepth)return leftDepth + 1;elsereturn rightDepth + 1;}// driver codeint main() {Node* root = new Node(1);root->left = new Node(2);root->right = new Node(3);root->left->left = new Node(4);root->right->left = new Node(5);root->right->right = new Node(6);root->right->right->left = new Node(8);root->right->left->right = new Node(7);cout << "The maximum depth is: " << maxDepth(root) << endl;}
Relevant Answers
Explore Courses
Free Resources
Copyright ©2025 Educative, Inc. All rights reserved