//查找节点p的高度,注意与单纯只计算树的高度不同
int GetHeight(BiTNode* root, BiTNode * p, int h = 1)
{
if (!root) return 0;
if (p == root->lchild || p == root->rchild) return h + 1;
return GetHeight(root->lchild, p, h+1) == 0 ?
GetHeight(root->rchild, p, h+1) : GetHeight(root->lchild, p, h+1);
}
上述测试使用的先序序列为
abc###de##fg###
对应的二叉树如下:
a
/ \
b d
/ / \
c e f
/
g
结果如下:
仅此记录,供以后忘记了查阅,同时也希望和大家分享。