思路
和层次遍历思路一致,只要加上一个layer变量,判断是否为奇数层,奇数层取反
class Solution(object):
def zigzagLevelOrder(self, root):
if not root:
return []
res= []
queue = [root]
layer = 0
while queue:
queue_next = []
tmp = []
for i in queue:
tmp.append(i.val)
if i.left:
queue_next.append(i.left)
if i.right:
queue_next.append(i.right)
if layer % 2 != 0: #判断层数奇偶
res.append(tmp[::-1])
else:
res.append(tmp)
layer += 1
queue = queue_next
return res