# Question

Formatted question description: https://leetcode.ca/all/110.html

```
110 Balanced Binary Tree
Given a binary tree, determine if it is height-balanced.
For this problem, 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.
Example 1:
Given the following tree [3,9,20,null,null,15,7]:
3
/ \
9 20
/ \
15 7
Return true.
Example 2:
Given the following tree [1,2,2,3,3,null,null,4,4]:
1
/ \
2 2
/ \
3 3
/ \
4 4
Return false.
@tag-tree
```

# Algorithm

If we find that the subtree is not balanced, the specific depth is not calculated, but -1 is directly returned. Then the optimized method is: For each node, we recursively obtain the depth of the left and right subtrees through the checkDepth method.

If the subtree is balanced, then return the true depth, if not, return directly to -1. This method is time-complex Degree O(N), space complexity O(H).

# Code

Java