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.
注意:深度从1开始。
代码:
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { private: int maxdepth; public: void solve(TreeNode *root,int depth){ if(root==NULL) return; if(depth>maxdepth) maxdepth=depth; solve(root->left,depth+1); solve(root->right,depth+1); } int maxDepth(TreeNode *root) { maxdepth=0; solve(root,1); return maxdepth; } };