Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import collections
- def zigzag_level_order_traversal(root):
- if root is None:
- return []
- result = []
- q = collections.deque([root]) #insert the first node
- rtol = False
- while len(q) != 0:
- numnodes = len(q) # get the number of nodes in deque
- temp = []
- for _ in range(numnodes):
- node = q.popleft() # store the first val of the deque in node
- temp.append(node.label) #append to the temp for that level
- if node.left_ptr is not None:
- q.append(node.left_ptr)
- if node.right_ptr is not None:
- q.append(node.right_ptr)
- if rtol is True:
- temp.reverse()
- rtol = not rtol
- result.append(temp)
- return (result)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement