题目描述
求给定二叉树的最大深度,
最大深度是指树的根结点到最远叶子结点的最长路径上结点的数量。
示例1
输入
{1,2}
返回值
2
示例2
输入
{1,2,3,4,#,#,5}
返回值
3
/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
class Solution {
public:
/**
*
* @param root TreeNode类
* @return int整型
*/
int maxDepth(TreeNode* root) {
// write code here
if(!root)
return 0;
if(!root->left && !root->right)
return 1;
int left_val = maxDepth(root->left);
int right_val = maxDepth(root->right);
int max_val = left_val > right_val ? left_val : right_val;
return ++max_val;
}
};