用一个变量来标记是否反转
class Solution:
def zigzagLevelOrder(self, root: TreeNode) -> List[List[int]]:
if not root:
return []
queue = [root]
ans = []
flag = True
while queue:
temp = []
for _ in range(len(queue)):
node = queue.pop(0)
temp.append(node.val)
if node.left:
queue.append(node.left)
if node.right:
queue.append(node.right)
if flag:
ans.append(temp)
else:
ans.append(temp[::-1])
flag = not flag
return ans