← Tree Traversal

Micro-Drill #215 — Deserialize binary tree

Tree Traversal Target: 10s

Consume preorder tokens with an iterator. '#' = null leaf. Recursion naturally reconstructs the tree structure.

def deserialize(data):
    vals = iter(data.split(','))
    def dfs():
        val = next(vals)
        if val == '#': return None
        node = TreeNode(int(val))
        node.left = dfs()
        node.right = dfs()
        return node
    return dfs()

Type it from memory. Go.

Practice Problems

Related Coding Drills

← Micro #214 Micro #216 →