开发者社区 问答 正文

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

要C语言编的,非常感谢

展开
收起
知与谁同 2018-07-20 13:48:11 3821 分享 版权
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;否则返回左右子树的叶子节点个数。
    2019-07-17 22:54:45
    赞同 展开评论