面试算法题之判断一颗二叉树是不是平衡二叉树

思路:1.首先理解平衡二叉树的定义:任意节点的左右子树的高度差不超过1。
2.

class Solution{
	public boolean isPin(TreeNode root){
		return recur(root)!=-1;
	}
	public int recuer(TreeNode root){
		if(root==null) return 0;
		int left=recur(root.left);
		if(left=-1) return -1;
		int right=recur(root.right);
		if(right==-1) return -1;
                //根据定义来做判断,如果满足定义就返回二叉树的高度,否则返回-1;
		return Math.abs(left-right)<2 ? Math.max(left,right)+1:-1;
	}
}

posted @ 2021-03-07 15:30  ForMei  阅读(87)  评论(0)    收藏  举报