/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
* };
*/
class Solution {
public:
int maxDepth(TreeNode* root) {
int ans = 0;
auto dfs = [&](auto&& dfs, TreeNode* node, int depth) -> void {
if (!node) return;
depth++;
ans = max(depth, ans);
dfs(dfs, node->left, depth);
dfs(dfs, node->right, depth);
};
dfs(dfs, root, 0);
return ans;
}
};

京公网安备 11010502036488号