🐍Python || ✅C++ || 💥Simple Solution Using BFS✔ || 🚀Iterative Manner using queue
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:O(N)\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:O(N)\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code Upvote Please \uD83D\uDE4C\n```\n# Definition for a binary tree node.\n# class TreeNode(object):\n#     def __init__(self, val=0, left=None, right=None):\n#         self.val = val\n#         self.left = left\n#         self.right = right\nclass Solution(object):\n    def zigzagLevelOrder(self, root):\n        """\n        :type root: TreeNode\n        :rtype: List[List[int]]\n        """\n        result=[]\n        if not root:\n            return []\n        queue = [root]\n        level=0\n        while queue:\n            rev = []\n            for i in range(len(queue)):\n                curr = queue.pop(0)\n                rev.append(curr.val)\n                if curr.left:\n                    queue.append(curr.left)\n                if curr.right:\n                    queue.append(curr.right)\n            if level%2:\n                result.append(rev[::-1])\n            else: \n                result.append(rev)\n            level += 1\n        return result\n```\n\n# Find Helpful Please Upvote \uD83E\uDD1E\uD83D\uDE09
['Tree', 'Breadth-First Search', 'Binary Tree', 'Python']