하루에 1문제씩 풀기.
한 문제당 30분씩은 고민하기.
왜 그렇게 풀었는지 공유하기.
하루라도 놓친다면 벌금은 1,000원
백준 플래티넘, 프로그래머스 4단계, 개발자 탈퇴 시 모임 탈퇴 가능
[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 일차)
2023.07.30 [207일차]
Tree
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
증빙
여담