From 9b00a4f760a238dde69e5942c946cc85b9888883 Mon Sep 17 00:00:00 2001 From: freemjstudio Date: Sat, 26 Sep 2026 23:21:47 +0900 Subject: [PATCH] Add binary tree level order traversal solution --- .../freemjstudio.py | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 binary-tree-level-order-traversal/freemjstudio.py diff --git a/binary-tree-level-order-traversal/freemjstudio.py b/binary-tree-level-order-traversal/freemjstudio.py new file mode 100644 index 0000000000..6bd0158935 --- /dev/null +++ b/binary-tree-level-order-traversal/freemjstudio.py @@ -0,0 +1,31 @@ +from collections import deque + +# Definition for a binary tree node. +# class TreeNode: +# def __init__(self, val=0, left=None, right=None): +# self.val = val +# self.left = left +# self.right = right +class Solution: + def levelOrder(self, root: TreeNode | None) -> list[list[int]]: + visits = [] + + # bfs + queue = deque([]) + queue.append(root) + + while queue: + temp = [] + for _ in range(len(queue)): + node = queue.popleft() + if node: + temp.append(node.val) + + if node and node.left: + queue.append(node.left) + if node and node.right: + queue.append(node.right) + if temp: + visits.append(temp) + + return visits