题解 | #判断是不是平衡二叉树#
判断是不是平衡二叉树
https://www.nowcoder.com/practice/8b3b95850edb4115918ecebdf1b4d222
方法:只判断左右深度之差比较容易,但是误区在于还要判断左右子树是不是也是平衡二叉树。
import java.util.*; public class Solution { public boolean IsBalanced_Solution(TreeNode root) { if(root==null)return true; if(Math.abs((height(root.left)-height(root.right)))>1) return false; //左子树和右子树如果不满足平衡二叉树也要返回false return IsBalanced_Solution(root.left)&&IsBalanced_Solution(root.right); } public int height(TreeNode root){ if(root==null)return 0; int lh=height(root.left); int rh=height(root.right); return lh>rh?lh+1:rh+1; } }