Binary Tree Zigzag Level Order Traversal
Sun Mar 17 2024 19:39:05 GMT+0000 (Coordinated Universal Time)
Saved by
@playadust
class Solution:
def zigzagLevelOrder(self, root: Optional[TreeNode]) -> List[List[int]]:
if not root:
return []
q = deque([root])
level = 1
res = []
while q:
if (level % 2): ## < this is nice
res.append([x.val for x in q])
else:
res.append([x.val for x in reversed(q)])
for _ in range(len(q)):
node = q.popleft()
if node.left:
q.append(node.left)
if node.right:
q.append(node.right)
level += 1
return res
content_copyCOPY
Comments