面试大总结之二:Java搞定面试中的二叉树题目(八)
一
// 注意到如果其左树为非完全树,则它的高度已经被设置成-1,
// 因此不可能满足第二个条件!
if(right.isFull && left.height==right.height+1){
return new Pair(1+left.height, false);
}
// 其他情况都是非完全树,直接设置高度为-1
return new Pair(-1, false);
}
private static class Pair{
int height; // 树的高度
boolean isFull; // 是否是个满树
public Pair(int height, boolean isFull) {
this.height = height;
this.isFull = isFull;
}
public boolean equalsTo(Pair obj){
return this.height==obj.height && this.isFull==obj.isFull;
}
}
}