# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def zigzagLevelOrder(self, root: Optional[TreeNode]) -> List[List[int]]:
if not root:return []
stack=[(root,0)]
ans=defaultdict(list)
while stack:
cur,depth=stack.pop()
ans[depth].append(cur.val)
if cur.left:stack.append((cur.left,depth+1))
if cur.right:stack.append((cur.right,depth+1))
ans1=[]
for k,v in ans.items():
if k%2==1:
ans1.append(v)
else:
ans1.append(v[::-1])
return ans1
103. Binary Tree Zigzag Level Order Traversal
最新推荐文章于 2024-10-01 05:04:32 发布