算法
// 递归求树的深度
int Depth(BiTNode *p)
{
if (p == NULL)
return (0);
return 1 + (Depth(p->lchild) > Depth(p->rchild) ? Depth(p->lchild) : Depth(p->rchild));
}
// 递归打印路径
void echoPath(BiTree T)
{
if (T)
{
//访问节点
visit(T);
// 往下走
if (Depth(T->lchild) > Depth(T->rchild))
echoPath(T->lchild);
else
echoPath(T->rchild);
}
}
完整代码