如何在二叉搜索树的x级找到节点数(有限制)

时间:2014-05-05 08:53:14

标签: c binary-search-tree

你好我遇到这个问题的问题是制作一个只使用二叉树头指针和树的所需级别(高度)的函数,如:

int countLevel(tree_type tree, int n)

我已经考虑了一段时间了,我似乎无法找到解决方案而无需在函数中添加另一个值来表示树的运行数/高度  (我认为有一种方法来代表它而不改变函数本身?)

P.S。我现在在C上编码。

1 个答案:

答案 0 :(得分:6)

假设tree_type是一个节点指针,那么这样的东西应该可以工作:

int countLevel(tree_type tree, int n) {
   if (tree == 0) return 0;
   if (n == 0) return 1;
   return countlevel(tree->left, n - 1) + countlevel(tree->right, n - 1);
}