Given the root
of a binary tree, return its maximum depth.
A binary tree's maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.
이진 트리의 root
가 주어졌을 때, 그 최대 깊이를 반환하세요.
이진 트리의 최대 깊이란 루트 노드부터 가장 먼 잎 노드까지의 가장 긴 경로에 있는 노드의 수입니다.
[0, 104]
범위에 있습니다.-100 <= Node.val <= 100
class Solution {
public int maxDepth(TreeNode root) {
return dfs(root);
}
public int dfs(TreeNode root) {
if (root == null) {
return 0; // 빈 노드라면 깊이는 0
} else {
// 왼쪽 자식 노드와 오른쪽 자식 노드에 대해 재귀적으로 maxDepth를 호출
int leftDepth = dfs(root.left);
int rightDepth = dfs(root.right);
// 더 큰 깊이에 1을 더해 반환 (현재 노드를 포함하기 위해)
return Math.max(leftDepth, rightDepth) + 1;
}
}
}