Documentation IndexFetch the complete documentation index at: /llms.txtUse this file to discover all available pages before exploring further.
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Tested Python solution for LeetCode 103 with 13 pytest cases. Generate a practice environment with lcpy.
lcpy gen -n 103 # by problem number lcpy gen -s binary_tree_zigzag_level_order_traversal # by problem name
root
Input: root = [3,9,20,null,null,15,7] Output: [[3],[20,9],[15,7]]
Input: root = [1] Output: [[1]]
Input: root = [] Output: []
from collections import deque from leetcode_py import TreeNode class Solution: # Time: O(n) — each node processed once # Space: O(n) — queue holds widest level def zigzag_level_order(self, root: TreeNode[int] | None) -> list[list[int]]: if not root: return [] result: list[list[int]] = [] queue: deque[TreeNode[int]] = deque([root]) left_to_right = True while queue: level: deque[int] = deque() for _ in range(len(queue)): node = queue.popleft() if left_to_right: level.append(node.val) else: level.appendleft(node.val) if node.left: queue.append(node.left) if node.right: queue.append(node.right) result.append(list(level)) left_to_right = not left_to_right return result