若用二叉链表作为二叉树的存储表示,试用编写递归算法,统计二叉树中叶子结点的个数

要C语言编的,非常感谢
2024-12-16 00:27:20
推荐回答(1个)
回答1:

int count(Node *root) {
if (!root) return 0;
int ret = count(root->leftChild) + count(root->rightChild);
return ret == 0 ? 1 : ret;
}
第一行: 空指针返回0
第二行:统计左右子树的叶子节点个数
第三行:如果左右子树的叶子节点个数为0,则本身是一个叶子节点,返回1;否则返回左右子树的叶子节点个数。