用递归的办法
思路1,从下往上累加
int maxDepth(TreeNode* root) {
if(!root)
return 0;
return max(maxDepth(root->left), maxDepth(root->right))+1;
}
思路2,从上往下累加
void helper(TreeNode* p, int dep, int& depth){
if(!p)
return;
depth=max(depth,dep+1);
helper(p->left, dep+1, depth);
helper(p->right, dep+1, depth);
}
int maxDepth(TreeNode* root) {
int depth=0;
helper(root, 0,depth);
return depth;
}