Binary Tree Zigzag Level Order Traversal
https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/    Given a binary tree, return the  zigzag level order  traversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between).   For example: Given binary tree  [3,9,20,null,null,15,7] ,      3    / \   9  20     /  \    15   7     return its zigzag level order traversal as:  [   [3],   [20,9],   [15,7] ]   Solution:    Level-traversal using a Queue + DFS  On enqueue put the elements on a list  Apply list.reverse for the odd-levels    Works fast. Code's below, cheers, ACC.          public class Solution    {       public IList<IList<int>> ZigzagLevelOrder(TreeNode root)       {           if (root == null) return new List<IList<int>>();             List<IList<int>> retVal = new List<IList<int>>();             Queue<QueueItem...