Info

Intuition

Striver series notes

  • The direction needs to be changed after every iteration.

Attempt

'''
do level order traversal by using queue
use a flag and toggle it after every iteration
based on flag do popleft or popright 
if I popright then the next layer values will be stored in reverse order
 
puesdo code:
if root == none:
    return []
    
queue = deque()
layer = []
toggle = 0
while queue:
    toggle = !toggle
    for i in range(len(q)):
'''
 
class TreeNode(object):
    def __init__(self, val=0, left=None, right=None):
        self.val = val
        self.left = left
        self.right = right
class Solution(object):
    def zigzagLevelOrder(self, root):
        """
        :type root: TreeNode
        :rtype: List[List[int]]
        """