Group a tree by vertical columns
MetaSoftware Engineer · Technical ScreenLast updated
This interview question evaluates algorithm design, data structures, correctness, complexity, edge cases, and implementation details in a realistic interview setting. A strong answer for Group a tree by vertical columns states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.
Given the root of a binary tree, produce a vertical listing of nodes: assign each node an x-coordinate (root at x=0; left child x−1; right child x+ 1). For each x from smallest to largest, list node values from top to bottom; when multiple nodes share the same (x, depth), order them by their left-to-right appearance in level order. Return a list of columns (each a list of values). Describe your traversal strategy, tie-breaking, and data structures. Analyze time and space complexity.
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.