我写了一个方法来返回二进制搜索树的高度。
现在我试图从递归方法返回ORDER BY ABS(column_name)
。我这样做是为了增加额外的height - 1
条件。
有没有更好的方法从递归函数返回if
?
value - 1
答案 0 :(得分:3)
在您的基本情况下,分别返回-1和0:
static int height(Node root) {
if(root == null)
return -1;
if(root.left == null && root.right==null)
return 0;
else
return 1+ Math.max(height(root.left),
height(root.right));
}
更新以符合评论中提到的要求:"如果我想为空节点返回0,对于单节点返回1,如果为所有其他节点返回高度1,该怎么办。"
static int funny_height(Node root) {
int h = height(node);
return h <= 0 ? h + 1 : h;
}