二叉树的叶子节点是既没有左子树又没有右子树的特殊的节点,使用递归我们可以方便的计算出共有多少叶子节点。代码上传至 https://github.com/chenyufeng1991/BinaryTreeLeafCount 。
核心代码如下:
int leafCount = 0;
void LeafCountBinaryCount(Node *node)
{
if (node == NULL)
{
return;
}
if (node ->lChild == NULL && node ->rChild == NULL)
{
leafCount++;
}
LeafCountBinaryCount(node->lChild);
LeafCountBinaryCount(node->rChild);
return;
}