Skip to main content
← Problem catalogue Understand the pattern. Try it yourself. Review the solution. Practice this pattern →
Medium Trees / DFS Medium frequency Solution Available Practice Mode

Flatten Binary Tree to Linked List LeetCode Solution

Tags: #Linked List #Stack #Tree #DFS #Binary Tree

Approach Summary

Morris traversal: for each node, find the rightmost node of the left subtree, attach right child there, move left subtree to right, set left = null.

Practice Mode

Solve it yourself before revealing the code

DSA interviews test reasoning from brute force to optimal. Think through the constraints first.

Algorithmic Pattern

Master the Trees / DFS Pattern

View Pattern Guide →

Study the core invariant, step-by-step decision framework, and common interview traps for the Trees / DFS pattern.

Framework: Trees / DFS • Interview Prep: Tested at FAANG • Explore all Trees / DFS problems & invariants →

How to Recognize This Pattern

  • In-place preorder flatten — no extra space
  • Morris: stitch left's rightmost to right, then move left

Complexity Analysis

Time Complexity

O(n)

Space Complexity

O(1)

Tags

Linked List Stack Tree DFS Binary Tree

Frequently Asked Questions

What is the optimal time and space complexity for Flatten Binary Tree to Linked List?
The optimal solution for Flatten Binary Tree to Linked List achieves O(n) runtime complexity and requires O(1) auxiliary space. Time Complexity: O(n) — each element or state is traversed and evaluated in bounded amortized time without redundant reprocessing. Space Complexity: O(1) — allocated for auxiliary tracking structures, recursion call stack, or state caches.
How do I identify that Flatten Binary Tree to Linked List requires the Trees / DFS pattern?
In technical interviews, look for key problem signals: In-place preorder flatten — no extra space; Morris: stitch left's rightmost to right, then move left. Recognizing these invariants allows you to bypass naive brute-force exhaustive search in favor of Trees / DFS strategy.
What critical edge cases must be handled in Flatten Binary Tree to Linked List?
Essential edge cases to verify include: Key recognition trigger: In-place preorder flatten — no extra space.; Constraint condition: Morris: stitch left's rightmost to right, then move left.; Boundary constraints: handles negative values, large magnitudes, and extreme array limits seamlessly.; Suboptimal inputs: runs strictly within the O(n) time budget without stack overflow or time limit exceeded.. Always walk through these scenarios with your interviewer before coding.
Which tech companies frequently ask Flatten Binary Tree to Linked List?
Flatten Binary Tree to Linked List is a Medium-difficulty question tagged with medium recurrence. It is actively asked in technical screening and onsite interview loops at Amazon, Microsoft, Bloomberg.
Buy me a coffee
Daily Practice
0/0