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.
本来是挺基础的一题,但是遥想当年我刚开始啃二叉树的时候想到这种需求还真费劲。
Talk is cheap!
/**
* Definition for binary tree
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
int maxDepth(TreeNode *root) {
if (root == NULL)
return 0;
int ldepth = maxDepth(root -> left);
int rdepth = maxDepth(root -> right);
return max(ldepth, rdepth) + 1;
}
};