[1스4코2파] # 207 LeetCode 102. Binary Tree Level Order Traversal

gunny·2023년 7월 30일
0

코딩테스트

목록 보기
208/530
post-thumbnail

[1스4코2파] 1명의 스위프트 개발자와 4명의 코틀린 개발자, 2명의 파이썬 개발자코딩 테스트 서막 : 1스4코1파

Rule :

하루에 1문제씩 풀기.
한 문제당 30분씩은 고민하기.
왜 그렇게 풀었는지 공유하기.
하루라도 놓친다면 벌금은 1,000원
백준 플래티넘, 프로그래머스 4단계, 개발자 탈퇴 시 모임 탈퇴 가능

START :

[3코1파] 2023.01.04~ (207차)
[4코1파] 2023.01.13~ (199일차)
[1스4코1파] 2023.04.12~ (110일차)
[1스4코2파] 2023.05.03 ~ (88 일차)

Today :

2023.07.30 [207일차]
Tree
102. Binary Tree Level Order Traversal

102. Binary Tree Level Order Traversal

https://leetcode.com/problems/binary-tree-level-order-traversal/

문제 설명

binary tree 가 주어졌을 때, 해당 트리의 depth에 따라서 노드의 val을 return 하는 것 !

문제 풀이 방법

bfs로 푸는데 queue를 이용해서 level(depth)가 끝날 때의 조건을 줘서 level 대한 리스트에 death에 있는 노드의 값들을 넣어주고 return 한다.

내 코드

lass Solution:
    def levelOrder(self, root: Optional[TreeNode]) -> List[List[int]]:
        ans = []
        queue = collections.deque()
        queue.append(root)

        while queue:
            qLen = len(queue)
            level = []
            for i in range(qLen):
                node = queue.popleft()
                if node:
                    level.append(node.val)
                    queue.append(node.left)
                    queue.append(node.right)
            
            if level:
                ans.append(level)

        return ans

증빙

여담

profile
꿈꾸는 것도 개발처럼 깊게

0개의 댓글