Skip to main content

Traversals

589. N-ary Tree Preorder Traversal​

Easy·
2 Approaches
FIG. N ARY TREE PREORDER TRAVERSAL● INTERACTIVE
visualization loads as you reach it
def preorder(self, root: "Node") -> List[int]:
def rec(node):
if not node:
return
result.append(node.val)
for child in node.children:
rec(child)
 
result = []
rec(root)
return result

590. N-ary Tree Postorder Traversal​

Easy·
2 Approaches
FIG. N ARY TREE POSTORDER TRAVERSAL● INTERACTIVE
visualization loads as you reach it
def postorder(self, root: "Node") -> List[int]:
def rec(node):
if not node:
return
for child in node.children:
rec(child)
result.append(node.val)
 
result = []
rec(root)
return result

429. N-ary Tree Level Order Traversal​

Medium·
3 Approaches
FIG. N ARY TREE LEVEL ORDER TRAVERSAL● INTERACTIVE
visualization loads as you reach it
def levelOrder(self, root: "Node") -> List[List[int]]:
levels = []
queue = collections.deque([root])
while queue:
level = []
for _ in range(len(queue)):
node = queue.popleft()
if node:
level.append(node.val)
for child in node.children:
queue.append(child) if child else None
if level:
levels.append(level)
return levels