Invert Binary Tree
Learn how to solve the 'Invert Binary Tree' problem. This detailed resource details brute force and optimized approaches.
Problem Statement
Given the root of a binary tree, invert the tree, and return its root.
Inverting a binary tree means swapping the left and right children of every node in the tree.
The tree is represented as a level-order list where None represents a missing node. Implement a function invertTree(root: list) -> list that returns the inverted tree in level-order.
- •The number of nodes in the tree is in the range [0, 100]
- •-100 <= Node.val <= 100
Examples
[4,2,7,1,3,6,9]
[4,7,2,9,6,3,1]
The root stays 4. Its children swap: left becomes 7, right becomes 2. Their children also swap recursively.
[2,1,3]
[2,3,1]
The root stays 2. Left child 1 and right child 3 are swapped.
[]
[]
An empty tree inverted is still empty.
Need a Hint?
Edge Cases to Watch
- Empty list or null input variables
- Single item lists/arrays
- Extremely large input bounds causing integer or stack overflow
Ready to Solve?
Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.