This post is completed by 1 user
|
Add to List |
51. Print Binary Tree Nodes in Zigzag Order: Spiral Traversal Pattern
Objective: Given a binary Tree, Do Level Order Traversal in a Zig Zag pattern OR Print in a Spiral
Better Solution :
- The idea is to take all nodes at each level and print them forward and reverse order alternatively.
- Create an ArrayList al.
- Do the level order traversal using the queue(Breadth First Search). Click here to know about how to level order traversal.
- For getting all the nodes at each level, before you take out a node from the queue, store the size of the queue in a variable, say you call it levelNodes.
- Now while levelNodes>0, take out the nodes and add them to the array list and add their children into the queue.
- Alternatively, print the array list in forward and backward order.
- After this while loop put a line break.
Time Complexity: O(N)
Spiral Print of a Tree : [5] [10, 15] [35, 30, 25, 20] [40, 45]