Skip to main content

Traversals

589. N-ary Tree Preorder Traversal

Easy·

Solutions:
Visualize
def preorder(self, root: "Node") -> List[int]:
def recursion(node: "Node"):
nonlocal ans
if node:
ans.append(node.val)
for child in node.children:
recursion(child)
 
ans = []
recursion(root)
return ans

590. N-ary Tree Postorder Traversal

Easy·

Solutions:
Visualize
def postorder(self, root: "Node") -> List[int]:
def recursion(node: "Node"):
nonlocal ans
if node:
for child in node.children:
recursion(child)
ans.append(node.val)
 
ans = []
recursion(root)
return ans

429. N-ary Tree Level Order Traversal

Medium·

Solutions:
Visualize
def levelOrder(self, root: "Node") -> List[List[int]]:
q = [root]
ans = []
while q:
mini_q = []
mini_ans = []
while q:
node = q.pop(0)
if node:
mini_ans.append(node.val)
for child in node.children:
if child:
mini_q.append(child)
q = mini_q
ans.append(mini_ans) if mini_ans else None
return ans