/** * Definition for a binary tree node. * 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 m=maxDepth(root->left); int n=maxDepth(root->right); int max_num=max(m,n); return max_num+1; } };
分析:
用递归的思想,考虑边界情况也是停止条件,就是NULL的情况,返回左右子节点最大值加一就可以了。