Skip to content
Binary TreesMedium

26. Root-to-Leaf Paths

Backtracking algorithm collecting all paths from root node down to every terminal leaf node.

Time O(n) Space O(h)
Open in 3D Studio

Live loop — open the studio to scrub, add your own array, or race it in Battle Arena.

Asked in interviews at

UberMicrosoftDoorDash

Reference implementation (Python)

def binary_tree_paths(root):
    paths = []
    def dfs(node, path):
        if not node: return
        path.append(str(node.val))
        if not node.left and not node.right:
            paths.append("->".join(path))
        else:
            dfs(node.left, path)
            dfs(node.right, path)
        path.pop()
    dfs(root, [])
    return paths

Embed this visualization

Drop a live, looping 26. Root-to-Leaf Paths canvas into a blog post or course page.

<iframe src="/embed/tree-root-to-leaf" width="100%" height="380" style="border:1px solid #e6e8ec;border-radius:14px" loading="lazy" title="3D algorithm visualization by CodeWithMunnaX"></iframe>

Frequently asked

What is the time and space complexity of 26. Root-to-Leaf Paths?

26. Root-to-Leaf Paths runs in O(n) time and O(h) auxiliary space.

Is the 26. Root-to-Leaf Paths visualizer free?

The core 3D visualizer, Web Audio chimes and step intuition are free. A one-time ₹49 Pro Pass unlocks advanced algorithms, large custom arrays, Battle Arena and reel export.

Which companies ask 26. Root-to-Leaf Paths in interviews?

26. Root-to-Leaf Paths shows up in interviews at Uber, Microsoft, DoorDash.

How does the 3D visualization of 26. Root-to-Leaf Paths work?

Each array value becomes a 3D pillar whose height maps to its value. Comparisons glow amber, swaps flash red, and settled elements lock green while a floating pointer badge tracks the active index — synchronized line-by-line with the Python code.

More Binary Trees