这题就是在之前的基础上加个奇偶数的判断开关。不难。代码如下:
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution(object):
def zigzagLevelOrder(self, root):
"""
:type root: TreeNode
:rtype: List[List[int]]
"""
if not root:
return []
a = []
queue = [root]
b = 0
while queue:
if b == 0:
a.append([q.val for q in queue])
else:
a.append([q.val for q in queue][::-1])
queue = [q for node in queue for q in (node.left, node.right) if q]
if b == 0:
b = 1
else:
b = 0
return a