18 lines
459 B
Python
18 lines
459 B
Python
"""
|
|
simple bfs
|
|
"""
|
|
|
|
def zigzagLevelOrder(self, root):
|
|
if not root: return []
|
|
stack = [[root]]
|
|
res = [[root.val]]
|
|
level = 0
|
|
while True:
|
|
level += 1
|
|
children = [child for node in stack[-1] for child in (node.left, node.right) if child]
|
|
if not children: break
|
|
temp = [node.val for node in children]
|
|
if level % 2 == 1: temp.reverse()
|
|
res.append(temp)
|
|
stack.append(children)
|
|
return res |