经典算法学习——求二叉树叶子节点的个数
2016-10-02 18:27
246 查看
二叉树的叶子节点是既没有左子树又没有右子树的特殊的节点,使用递归我们可以方便的计算出共有多少叶子节点。代码上传至 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;
}
核心代码如下:
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;
}
相关文章推荐
- 经典算法学习——求二叉树节点和为sum的路径
- C++算法之 求二叉树中叶子节点的个数 与 判断两棵二叉树是否结构相同
- 经典算法学习——链表中倒数第k个节点
- 算法学习-二叉树节点和两种实现方法,递归非递归
- 设计一个算法,求非空二叉树中指定的第k层(k>1)的叶子节点的个数
- 每天学习一算法系列(34)(求一个二叉树中任意两个节点间的最大距离,两个节点的距离的定义是这两个节点间边的个数)
- 设计一个算法,求非空二叉树中指定的第k层(k>1)的叶子节点的个数
- 经典算法学习——求二叉树的高度
- 经典算法学习——交换二叉树的左右子树(二叉树的翻转)
- 每天学习一算法系列(11) (求二叉树中节点的最大距离)
- 经典算法学习——在O(1)时间删除链表节点
- 经典算法学习——层序遍历二叉树
- 【算法题】遍历二叉树的所有左叶子节点,求其值之和
- 不使用递归和堆栈,遍历二叉树所有叶子节点的算法
- 经典算法学习——打印两个链表的第一个公共节点
- 数据结构五:二叉树的递归遍历,二叉树的叶子节点个数,二叉树的拷贝操作基础学习
- 微软等数据结构+算法面试100题(21)--二叉树打印到叶子节点的所有路径
- 数据结构--二叉树--输出树中从根到每个叶子节点的路径(树遍历算法的应用) .
- 经典算法学习——非递归遍历二叉树
- 一个关于二叉树的创建、先序遍历、中序遍历、后序遍历、求叶子节点的完整函数的c语言完整程序。