简单递归思路:

  • 如果是null,则为叶子节点的下面,return 0 即可。
  • 左右两边取大,返回的时候算上本层深度,即深度+1。
/**
 * struct TreeNode {
 *	int val;
 *	struct TreeNode *left;
 *	struct TreeNode *right;
 * };
 */

class Solution {
public:
    int maxDepth(TreeNode* root) {
        int lh, rh;
        // write code here
        if(!root){
            return(0);
        }else{
            lh = maxDepth(root->left);
            rh = maxDepth(root->right);
            return (lh>rh)?(lh+1):(rh+1);
        }
    }
};