2026-08-25 19:14:07 -06:00

69 lines
1.2 KiB
Python

class TreeNode:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
def levelOrder(root):
q = [root]
ans = []
while q:
level_size = len(q)
level = []
for i in range(level_size):
curr = q.pop(0)
level.append(curr.val)
if curr.left:
q.append(curr.left)
if curr.right:
q.append(curr.right)
if level:
ans.append(level)
return ans[::-1]
# q = [root]
# ans = []
# while q:
# level_size = len(q)
# level = []
# for _ in range(level_size):
# curr = q.pop(0)
# level.append(curr.val)
# if curr.left:
# q.append(curr.left)
# if curr.right:
# q.append(curr.right)
# ans.append(level)
# return ans[::-1]
root = TreeNode(3)
root.left = TreeNode(9)
root.right = TreeNode(20)
# root.left.left = TreeNode(4)
# root.left.right = TreeNode(5)
root.right.left = TreeNode(15)
root.right.right = TreeNode(7)
# root.right.right.right = TreeNode(8)
print( levelOrder(root) )