Binary Tree Zigzag Level Order Traversal
Understand and solve the interview question "Binary Tree Zigzag Level Order Traversal".
We'll cover the following...
Description
Given a binary tree T
, you have to find its nodes’ zigzag level order traversal. The zigzag level order traversal corresponds to traversing nodes from left to right and then right to left for the next level, alternating between.
You have to return the element in each level in a two-dimensional
array.
Let’s look at an example:
Coding exercise
package mainimport ("fmt""strconv""encoding/json")type TreeNode struct{val intleft *TreeNoderight *TreeNode}func zigzagLevelOrder(root *TreeNode) [][]int {// write your code herereturn [][]int{}}
Binary Tree Zigzag Level Order Traversal
Solution
As per the problem statement, we need to traverse the tree in a level-by-level zigzag order. An intuitive approach for this problem would be to use Breadth-First Search (BFS). By default, BFS
provides ordering from left to right within a single level.
We will need to modify BFS a little to get our desired output, a ...