이진 트리가 주어지면 최대 깊이를 반환합니다 .
이진 트리의 최대 깊이는 루트 노드에서 가장 먼 리프 노드까지 가장 긴 경로를 따라 있는 노드 수입니다.
입력: 루트 = [3,9,20,null,null,15,7]
출력: 3
입력: 루트 = [1,null,2]
출력: 2
트리의 노드 수가 범위 내에 있습니다 .[0, 104]
-100 <= Node.val <= 100
class Solution:
def maxDepth(self, root: Optional[TreeNode]) -> int:
if not root:
return 0
else:
left_depth = self.maxDepth(root.left)
right_depth = self.maxDepth(root.right)
return max(left_depth, right_depth) + 1