<aside> 👉🏿 문제 링크

</aside>

문제 정리

예제

Untitled

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

접근 방법

class Solution:
    def maxDepth(self, root):
        # 루트가 None일 경우 depth 0 반환
        if root is None:
            return 0
        
        # 큐 생성
        q = collections.deque([root])
        depth = 0
        
        # bfs방식으로 루트노드부터 리프노드까지 탐색
        while q:
            depth += 1
            for _ in range(len(q)):
                cur = q.popleft()
                if cur.left:
                    q.append(cur.left)
                if cur.right:
                    q.append(cur.right)

        return depth