I am performing the zig zag level order traversal of the binary tree.
def zigZagTraversal(self, root):
if root is None:
return []
s1=[root]
s2=[]
level=[]
res=[]
while s1 or s2:
while s1:
root=s1.pop()
level.append(root.data)
#first move from left ot right
if root.left!=None:
s2.append(root.left)
if root.right!=None:
s2.append(root.right)
res.append(level)
level=[]
#now we will run the while loop for the other stacks
while s2:
root=s2.pop()
level.append(root.data)
#here move from right to left
if root.right!=None:
s1.append(root.right)
if root.left!=None:
s1.append(root.left)
if level!=[]:
res.append(level)
level=[]
return res
My output [3] [1, 2] **expected output ** 3 1 2