Balanced Binary Tree
Learn how to solve the 'Balanced Binary Tree' problem. This detailed resource details brute force and optimized approaches.
Problem Statement
Given a binary tree, determine if it is height-balanced.
A height-balanced binary tree is a binary tree in which the depth of the two subtrees of every node never differs by more than one.
The tree is represented as a level-order list. Implement a function isBalanced(root: list) -> bool.
- •The number of nodes in the tree is in the range [0, 5000]
- •-10000 <= Node.val <= 10000
Examples
[3,9,20,None,None,15,7]
True
The left subtree (rooted at 9) has depth 1, and the right subtree (rooted at 20) has depth 2. The difference is 1, so the tree is balanced.
[1,2,2,3,3,None,None,4,4]
False
The left subtree has depth 3 while the right subtree has depth 1. The difference is 2, so the tree is not balanced.
[]
True
An empty tree is considered balanced.
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.