Skip to solution
mediumDSA

What are the tree traversal methods?

142 views
01

Understand the problem

Explain inorder, preorder, postorder, level-order.

traversaltrees
02

Attempt it yourself

Sketch your approach before reading the solution — that's what interviews test.

Nudge consolestandby

Stuck? Beam a request up — the console returns a conceptual nudge that guides your logic without spoiling the implementation.

03

Study the solution

Inorder (left, node, right) yields sorted order for a BST; preorder (node, left, right) is good for copying a tree; postorder (left, right, node) for deleting/evaluating; level-order (BFS) visits breadth-first using a queue.

Solution ready — 2 min read

Classified // press E to declassify

04

Read the code

DFS orders + BFS
Run Playground
from collections import deque

class TreeNode:
    def __init__(self, val, left=None, right=None):
        self.val, self.left, self.right = val, left, right

def inorder(node, out):
    if not node: return
    inorder(node.left, out)
    out.append(node.val)
    inorder(node.right, out)

def level_order(root):
    out, q = [], deque([root] if root else [])
    while q:
        node = q.popleft()
        out.append(node.val)
        if node.left:  q.append(node.left)
        if node.right: q.append(node.right)
    return out


# --- demo ---  tree:    4 / (2 / 1,3) , 6
root = TreeNode(4, TreeNode(2, TreeNode(1), TreeNode(3)), TreeNode(6))
out = []
inorder(root, out)
print(out)                 # [1, 2, 3, 4, 6]
print(level_order(root))   # [4, 2, 6, 1, 3]
05

Join the discussion

Discussion (0)

Sign in to join the discussion.

No responses yet. Be the first to share what you think.

Transmission complete // awaiting log

KEEP THE
STREAK ALIVE.

Dossier 95 of 127 decoded in the Data Structures & Algorithms track. One more won't hurt.

Back to track