본문 바로가기
JAVA/Coding Test Study

[Easy] LeetCode - no.104 Maximum Depth of Binary Tree : Java

by ♡˖GYURI˖♡ 2024. 10. 23.
728x90

https://leetcode.com/problems/maximum-depth-of-binary-tree/description/?envType=study-plan-v2&envId=top-interview-150

 

 

문제

이진 트리의 root가 주어질 때, 해당 트리의 최대 깊이를 반환할 것

 

Example 1

 

 

 

Input: root = [3,9,20,null,null,15,7]
Output: 3

 

 

 

 

 

 

풀이

참고

 

리트코드 - 104. Maximum Depth of Binary Tree

리트코드 - 104. Maximum Depth of Binary Tree 출처 - https://leetcode.com/problems/maximum-depth-of-binary-tree/description/?envType=study-plan-v2&envId=top-interview-150 문제 설명 이진 트리의 root가 주어지면 최대 깊이를 반환합

gray-tree.tistory.com

    public int maxDepth(TreeNode root) {
        if (root == null) {
            return 0;
        }

        return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;
    }
  • 재귀 사용
  • 기저 조건 : root가 null일 경우 (끝까지 도달했을 경우)
  • 왼쪽 서브트리의 최대 깊이와, 오른쪽 서브트리의 최대 깊이를 구하여 더 큰 값을 return
  • 시간복잡도 : O(N) (모든 노드를 한 번씩 방문해야 하기 때문)