104. 二叉树的最大深度


?做题思路or感想:

  • 直接递归到叶子节点,然后更新最大值就好了
class Solution {
public:
    int result = 1;
    void dfs(TreeNode* cur, int sum) {
        if (cur->left == nullptr && cur->right == nullptr) {	//递归到叶子节点时,就更新最大值
            result = max(result, sum);
        }
        if (cur->left)dfs(cur->left, sum + 1);
        if (cur->right)dfs(cur->right, sum + 1);
    }
    int maxDepth(TreeNode* root) {
        if (root == nullptr)return 0;	//防止奇怪用例
        dfs(root, 1);
        return result;
    }
};