Balanced Binary Tree Solution
Problem Description​
Given a binary tree, determine if it is height-balanced.
A height-balanced binary tree is defined as:
- A binary tree in which the left and right subtrees of every node differ in height by no more than 1.
Examples​
Example 1:
Input: root = [3,9,20,null,null,15,7]
Output: true
Example 2:
Input: root = [1,2,2,3,3,null,null,4,4]
Output: false
Example 3:
Input: root = []
Output: true
Constraints​
- The number of nodes in the tree is in the range
[0, 5000]
. - Node.val
Solution for Balanced Binary Tree Problem​
- Recursive
- Bottom-Up
Approach 1: Top-Down​
Intuition​
This method checks whether the tree is balanced strictly according to the definition of a balanced binary tree: the difference between the heights of the two subtrees is not greater than 1, and both the left and right subtrees are also balanced. With the helper function depth(), we can easily write the code.