问题描述:
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.
分析:采用递归的思想。
代码如下:4ms
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
int findDepth(struct TreeNode* root,int level){
if(!root)
return level;
int leftLevel = findDepth(root->left,level+1);
int rightLevel = findDepth(root->right,level+1);
return leftLevel>rightLevel?leftLevel:rightLevel;
}
int maxDepth(struct TreeNode* root) {
return findDepth(root,0);
}