赞
踩
https://leetcode-cn.com/problems/binary-tree-zigzag-level-order-traversal/
class Solution: def zigzagLevelOrder(self, root: TreeNode) -> List[List[int]]: if not root:return [] from collections import deque ans=[[root.val]] stack=deque() stack.append(root) flag=0#右到左 while stack: t=stack a=[] stack=deque() while t: node=t.popleft() if node.left: stack.append(node.left) a.append(node.left.val) if node.right: stack.append(node.right) a.append(node.right.val) if a: if flag:ans.append(a) else:ans.append(a[::-1]) flag^=1 return ans
class Solution: def zigzagLevelOrder(self, root: TreeNode) -> List[List[int]]: from collections import deque if not root: return [] q1,q2=deque(),deque() q1.append(root) flag=1 ans=[] while q1: tmp=deque() while q1: node=q1.popleft() if flag==1: tmp.append(node.val) else: tmp.appendleft(node.val) if node.left:q2.append(node.left) if node.right:q2.append(node.right) flag=flag^1 q1=q2.copy() q2.clear() ans.append(list(tmp)) return ans
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。