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.
This is a typical binary tree depth question. Recursive methods can be used to find the left subtree depth and right subtree depth of each node, return the depth of the left and right subtree of the node, that is, the depth of the node.
The Code is as follows:
1 /** 2 * Definition for binary tree 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8 * }; 9 */10 class Solution {11 public:12 int maxDepth(TreeNode *root) {13 if(root == NULL)14 return 0;15 16 int nleft = maxDepth(root->left);17 int nright = maxDepth(root->right);18 19 return (nleft > nright) ? (nleft+1) : (nright+1);20 }21 };
Depth of maximum depth of Binary Tree