Notice
Recent Posts
Recent Comments
Link
오늘도 개발
51. Binary Tree Level Order Traversal(BFS) 본문
문제
이진 트리의 root 노드를 인수로 받아 level order traversal을 진행한 값을 반환하시오.

Input: root = [3,9,20,null,null,15,7]
Output: [[3],[9,20],[15,7]]
해결 방식
큐와 BFS로 해결.
for문을 이용하여 같은 level에 있는 노드의 수만큼 iterate.
from collections import deque
class Solution:
def levelOrder(self, root):
if not root:
return []
result = []
queue = deque([root])
while queue:
levelLength = len(queue)
levelNodes = []
for i in range(levelLength):
currentNode = queue.popleft()
levelNodes.append(currentNode.val)
if currentNode.left:
queue.append(currentNode.left)
if currentNode.right:
queue.append(currentNode.right)
result.append(levelNodes)
return result
'자료구조 & 알고리즘 > Leetcode' 카테고리의 다른 글
| 53. Find if Path Exists in Graph(BFS, DFS) (0) | 2022.12.23 |
|---|---|
| 52. Maximum Depth of Binary Tree(DFS) (0) | 2022.12.15 |
| 50. Kth Largest Element in a Stream(Heap) (0) | 2022.11.16 |
| 47, 48, 49. Binary Tree Traversal(inorder, preorder, postorder) (0) | 2022.11.14 |
| 46. Insert into a Binary Search Tree (0) | 2022.11.12 |