# Problem Definition

## Description

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]`,

```plaintext
    3
   / \
  9  20
    /  \
   15   7
```

return its zigzag level order traversal as:

```plaintext
[
  [3],
  [20,9],
  [15,7]
]
```

## Notes

1. [LeetCode discussion - My accepted JAVA solution](https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/discuss/33815/My-accepted-JAVA-solution)