使用递归的思路,每个节点的最大深度为max(其左节点的最大深度,其右节点的最大深度) + 1.
class Solution {
public:
    /**
     *
     * @param root TreeNode类
     * @return int整型
     */
    int maxDepth(TreeNode* root) {
        // write code here
        if (!root) return 0;
        int left_depth = maxDepth(root->left);
        int right_depth = maxDepth(root->right);
        return 1 + std::max(left_depth, right_depth);
    }
};