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;
}
Last updated
Was this helpful?