🧑💻 언어 및 제출 결과
- 사용 언어:
TypeScript
- 통과 여부: ✅
🧠 풀이 설명
const maxDepth = (root: TreeNode | null): number =>
root ? Math.max(maxDepth(root.left), maxDepth(root.right)) + 1 : 0;
root가 null이면 0을 반환하고 root가 존재하면 왼쪽 서브트리와 오른쪽 서브트리의 깊이를 각각 계산하고
두 서브트리 깊이 중 더 큰 값을 선택하고 현재 노드를 포함하기 위해 1을 더하는 과정을 재귀적으로 반복하면서 최종 깊이를 반환하게 작성했습니다
📊 시간/공간 복잡도
✅ 어떠한 근거로 시간/공간 복잡도가 이렇게 나왔는지 설명해주세요.
- 시간 복잡도:
O(n)
- n개 노드 × O(1) =O(n)
- 공간 복잡도:
O(h)
- 재귀 스택이 쌓이는 함수 개수 = 트리의 높이 =O(h)
⚡️ 풀이의 속도와 메모리 등을 캡쳐해서 올려주세요.
.
'코딩테스트 > LeetCode' 카테고리의 다른 글
[LeetCode] Symmetric Tree (0) | 2025.07.16 |
---|---|
[LeetCode] Validate Binary Search Tree (1) | 2025.07.14 |
[LeetCode] Linked List Cycle (1) | 2025.07.10 |
[LeetCode] Reverse Linked List (1) | 2025.07.10 |
[LeetCode] Delete Node in a Linked List (연결 리스트) (1) | 2025.07.09 |