统计二叉排序树中值小于X的结点个数

问题描述:

统计二叉排序树中值小于X的结点个数

具体思想应该是递归思想,大概这样
int count(BinTree *T)
{
if(T == NULL)
return 0;
return count(T->left) + count(T->right) + 1;
}
然后如果你是用左儿子表示小于根的节点的话,小于X的节点数就是count(T->left)那为什么返回的是所有的节点啊?sorry,没看清题目。 int count(BinTree *T, int X) {if(T == NULL) return 0; if(T->val >= X) return count(T->left);elsereturn count(T->left) + 1 + count(T->right); } 假设左边小于右边