public static boolean test5(BinTreeNode node) {
boolean[] res = {true};
getHeight(node, 1, res);
return res[0];
}
public static int getHeight(BinTreeNode node,int level,boolean[] res) {
if (node==null) {
return level;
}
int lh = getHeight(node.left, level+1, res);
if (!res[0]) {
return level;
}
int rh = getHeight(node.right, level+1, res);
if (!res[0]) {
return level;
}
if (Math.abs(lh-rh)>1) {
res[0]=false;
}
return Math.max(lh, rh);
}
网友评论