> For the complete documentation index, see [llms.txt](https://junnie.gitbook.io/nine-chapter/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://junnie.gitbook.io/nine-chapter/2.binary-tree/93.balanced-binary-tree.md).

# 110.Balanced Binary Tree

https\://leetcode.com/problems/balanced-binary-tree/

## 1.Description(Easy)

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 depth of the two subtrees of every node never differ by more than 1.

**Example**

Given binary tree A =`{3,9,20,#,#,15,7}`, B =`{3,#,20,15,7}`

```
A)  3            B)    3 
   / \                  \
  9  20                 20
    /  \                / \
   15   7              15  7
```

The binary tree A is a height-balanced binary tree, but B is not.

## 2.Code

```
 public boolean isBalanced(TreeNode root){
     if(root==null){
         return true;
     }
     if(root.left==null && root.right==null){
         return true;
     }
     int diff=Math.abs(getHeight(root.left)-getHeight(root.right));
     if(diff>1){
         return false;
     }
     else{
         return isBalanced(root.left)&&isBalanced(root.right);
     }
 }

 public int getHeight(TreeNode root){
     if(root==null){
         return 0;
     }
     int left=getHeight(root.left);
     int right=getHeight(root.right);
     return Math.max(left,right)+1;
 }
```
