LeetCode 75: 104. Maximum Depth of Binary Tree

김준수·2024년 3월 25일
0

LeetCode 75

목록 보기
33/63
post-custom-banner

Description

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가 주어졌을 때, 그 최대 깊이를 반환하세요.

이진 트리의 최대 깊이란 루트 노드부터 가장 먼 잎 노드까지의 가장 긴 경로에 있는 노드의 수입니다.

예시 1:

Example 1

  • 입력: root = [3,9,20,null,null,15,7]
  • 출력: 3

예시 2:

  • 입력: root = [1,null,2]
  • 출력: 2

제약 사항:

  • 트리의 노드 수는 [0, 104] 범위에 있습니다.
  • -100 <= Node.val <= 100

Solution


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;
        }
    }
}
post-custom-banner

0개의 댓글