我需要创建一个递归方法,该方法将二叉搜索树的根节点作为参数。然后,此递归方法将返回具有一个左后代的节点总数的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);
}
答案 0 :(得分:1)
如果我理解正确的分配,那么该功能将显示为
size_t Tree::leftPtrCountHelper( const TreeNode *node )
{
if ( node == NULL ) return 0;
return ( node->leftPtr != NULL && node->rightPtr == NULL ) +
leftPtrCountHelper( node->leftPtr ) +
leftPtrCountHelper( node->rightPtr );
}