面试算法题之判断一颗二叉树是不是平衡二叉树
思路: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;
}
}

浙公网安备 33010602011771号