1. /**
    2. * Definition for a binary tree node.
    3. * struct TreeNode {
    4. * int val;
    5. * TreeNode *left;
    6. * TreeNode *right;
    7. * TreeNode() : val(0), left(nullptr), right(nullptr) {}
    8. * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
    9. * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
    10. * };
    11. */
    12. class Solution {
    13. public:
    14. int max(int a, int b) {
    15. if (a > b) return a;
    16. return b;
    17. }
    18. int maxDepth(TreeNode* root) {
    19. return root == nullptr ? 0 : max(maxDepth(root->left), maxDepth(root->right)) + 1;
    20. }
    21. };

    使用递归的方法

    执行结果:
    通过
    显示详情
    添加备注
    执行用时:0 ms, 在所有 C++ 提交中击败了100.00% 的用户
    内存消耗:18.3 MB, 在所有 C++ 提交中击败了86.74% 的用户
    通过测试用例:39 / 39