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

kre*_*esa 3 c binary-search-tree

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

int countLevel(tree_type tree, int n)
Run Code Online (Sandbox Code Playgroud)

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

PS我现在在C上编码.

per*_*eal 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);
}
Run Code Online (Sandbox Code Playgroud)