Maximum Depth of Binary Tree
Description
Given a binary tree, find its maximum depth.
The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.
Example Given a binary tree as follow: 1 / \ 2 3 / \ 4 5 The maximum depth is 3.
Link
Method
- Divide and conquer, recursion, O(n)
- BFS, level traversal
Example
- 1
/** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, *right; * TreeNode(int val) { * this->val = val; * this->left = this->right = NULL; * } * } */ class Solution { public: /** * @param root: The root of binary tree. * @return: An integer */ int maxDepth(TreeNode *root) { // write your code here // test currnt level is existed or not if (!root) { return 0; } // get max depth from left and right return max(maxDepth(root->left), maxDepth(root->right))+1; } };
Similar problems
x
Tags
x