leetcode_gym/_code/trees/levelOrder.py
2026-08-25 19:14:07 -06:00

52 lines
911 B
Python

class TreeNode:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
def levelOrder(root):
queue = []
queue.append( root )
levels = []
while queue:
level_size = len(queue)
level = []
while level_size:
node = queue.pop(0)
if node:
level.append( node.val )
if node.left:
queue.append( node.left )
if node.right:
queue.append( node.right )
level_size -= 1
if level:
levels.append( level )
print levels
root = TreeNode(0)
root.left = TreeNode(1)
root.right = TreeNode(2)
root.left.left = TreeNode(3)
root.left.right = TreeNode(4)
# root.right.left = TreeNode(5)
root.right.right = TreeNode(6)
root.right.right.right = TreeNode(7)
levelOrder(root)