728x90
문제
이진 트리의 root가 주어질 때, 해당 트리의 최대 깊이를 반환할 것
Example 1
Input: root = [3,9,20,null,null,15,7]
Output: 3
풀이
참고
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) (모든 노드를 한 번씩 방문해야 하기 때문)
'JAVA > Coding Test Study' 카테고리의 다른 글
[Easy] LeetCode - no.226 Invert Binary Tree : Java (0) | 2024.10.23 |
---|---|
[Easy] LeetCode - no.100 Same Tree : Java (1) | 2024.10.23 |
[Easy] LeetCode - no.21 Merge Two Sorted Lists : Java (0) | 2024.10.21 |
[Easy] LeetCode - no.141 Linked List Cycle : Java (0) | 2024.10.21 |
[Easy] LeetCode - no.20 Valid Parentheses : Java (0) | 2024.10.19 |