Binary Tree Zigzag Level Order Traversal
Given a binary tree, return the zigzag level order traversal of its nodes’ values. (ie, from left to right, then right to left for the next level and alternate between).
Example
For example:
Given binary tree [3,9,20,null,null,15,7],
Solution
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def zigzagLevelOrder(self, root: TreeNode) -> List[List[int]]:
ret, level = [], [root]
reverse = -1
while root and level:
ret.append([n.val for n in level][::-1*reverse])
level = [kid for n in level for kid in [n.left, n.right] if kid]
reverse *= -1
return ret