103 binary tree zigzag level order traversal
103. Binary Tree Zigzag Level Order Traversal
题目:
https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/
难度:
Medium
class Solution(object):
def zigzagLevelOrder(self, root):
"""
:type root: TreeNode
:rtype: List[List[int]]
"""
if not root:
return []
res, cur_level, level_count = [], [root], 0
while cur_level:
next_level, tmp_res = [], []
for node in cur_level:
tmp_res.append(node.val)
if node.left:
next_level.append(node.left)
if node.right:
next_level.append(node.right)
if level_count % 2 == 0:
res.append(tmp_res)
else:
tmp_res.reverse()
res.append(tmp_res)
level_count += 1
cur_level = next_level
return res