【发布时间】:2014-05-04 11:40:18
【问题描述】:
我需要创建一个递归方法,将二叉搜索树的根节点作为参数。然后,此递归方法将返回具有一个左后代的节点总数的 int 值。
int Tree::leftPtrCount(int count) {
return leftPtrCountHelper(rootPtr, count);
}
int Tree::leftPtrCountHelper(TreeNode *node, int count){
if (node == NULL)
return 0;
if (node->leftPtr != NULL && node->rightPtr == NULL)
count++;
else
return leftPtrCountHelper(node->leftPtr, count) + leftPtrCountHelper(node->rightPtr, count);
}
【问题讨论】:
-
问题是什么?
-
您不会在所有情况下都返回计数器,这会导致undefined behavior(我猜这是您可能遇到的问题之一)。事实上,计数器根本不需要。
-
欢迎使用 StackOverflow!这个网站有一些应该被尊重的礼仪。请阅读stackoverflow.com/questions/how-to-ask 以帮助改进您的问题。
标签: c++