103. Binary Tree Zigzag Level Order Traversal
def zigzagLevelOrder(self, root):
"""
:type root: TreeNode
:rtype: List[List[int]]
"""
if not root: return []
res, queue, flag = [], [root], 1
while queue:
temp = []
for i in xrange(len(queue)):
node = queue.pop(0)
temp.append(node.val)
if node.left: queue.append(node.left)
if node.right: queue.append(node.right)
res += [temp[::flag]]
flag *= -1
return res