叶子结点:没有左孩子和右孩子的节点。

如下:

这棵二叉树中叶子结点为红色圈圈中的节点,共有 5 个。

看代码:

#include<iostream>
using namespace std;typedef struct BinaryTreeNode
{char data;  //数据struct BinaryTreeNode *left;  //左孩子struct BinaryTreeNode *right;  //右孩子
}Node;int getLeafNum(Node *root)
{if (NULL == root){return 0;}if (NULL == root->left && NULL == root->right){return 1;}int leftLeafNum = getLeafNum(root->left);int rightLeafNum = getLeafNum(root->right);int leafNum = leftLeafNum + rightLeafNum;return leafNum;
}int main()
{//准备数据Node nodeA = { 'A',NULL,NULL };Node nodeB = { 'B',NULL,NULL };Node nodeC = { 'C',NULL,NULL };Node nodeD = { 'D',NULL,NULL };Node nodeE = { 'E',NULL,NULL };Node nodeF = { 'F',NULL,NULL };Node nodeG = { 'G',NULL,NULL };Node nodeH = { 'H',NULL,NULL };Node nodeI = { 'I',NULL,NULL };//建立关系nodeA.left = &nodeB;nodeA.right = &nodeC;nodeB.left = &nodeD;nodeB.right = &nodeE;nodeC.left = &nodeF;nodeC.right = &nodeG;nodeF.left = &nodeH;nodeF.right = &nodeI;//调用函数int depth = getLeafNum(&nodeA);printf("二叉树的叶子结点个数为:%d\n", depth);system("pause");return 0;
}

运行结果:

不保证代码百分百对哈。我也就随便一写。^_^

计算二叉树叶子结点个数 C/C++相关推荐

  1. c语言实现求二叉树叶子结点个数

    通过递归求解二叉树叶子结点个数,关键在于递归结束条件的设置. main.c #include<stdio.h>//定义结点类型 typedef struct BINARYNODE {cha ...

  2. 西工大NOJ数据结构理论——016.计算二叉树叶子结点数目(耿6.14)

    一.初级思路 拿到题之后的好习惯--先在纸上写思路: 1.构建二叉树: char* BinTreeBuilding(PBinTreeNode ptr_node,char *ptr_str){//创建二 ...

  3. 【数据结构】——二叉树的创建、计算叶子结点个数、递归遍历

    前面我们讲了关于数据结构中的堆栈问题,这篇文章主要是为大家简要介绍一下二叉树,并实现二叉树的创建.计算叶子结点个数.递归遍历.判断是否是完全二叉树等相关问题~ 一.二叉树的介绍 1.什么是二叉树 一棵 ...

  4. 入门二叉树,三种遍历,计算结点个数 ,深度 叶子结点个数,第k层结点个数

    1.关于二叉树的前中后序快速排序 那就在这里拿这张图来演示一下怎样快速写出中序遍历,我们都知道中序遍历是,左子树,根,右子树 B A C D E F H 最后直接得出结果DBEHACF 2.二叉树的五 ...

  5. 计算二叉树的第k层中所有叶子结点个数

    计算二叉树的第k层中所有叶子结点个数 Time Limit:1000MS Memory Limit:65535K 题型: 编程题 语言: 无限制 描述 二叉链表表示的二叉树:按先序次序输入二叉树中结点 ...

  6. 树与二叉树——二叉树中计算叶子结点个数问题

    1.已知完全二叉树具有967个结点,则其叶子结点个数为: 详解: 首先明确一点该二叉树是一棵二叉树,那可以使用二叉树的一些性质. 从第一层开始计算每层的节点个数:1,2,4,8,16,32,64,12 ...

  7. 31行代码AC——PTA 求二叉树的叶子结点个数 (20分)——解题报告

    励志用尽量少的代码做高效的表达. 以二叉链表作为二叉树的存储结构,求二叉树的叶子结点个数. 输入格式: 输入二叉树的先序序列. 提示:一棵二叉树的先序序列是一个字符串,若字符是'#',表示该二叉树是空 ...

  8. 数据结构----二叉树叶子结点到根节点的高度计算

    数据结构----二叉树叶子结点到根节点的高度计算 代码: #include<stdio.h> #include<stdlib.h> typedef struct bstTree ...

  9. 二叉树的进阶操作---(求二叉树中所有结点个数,求叶子结点个数,求第k层结点个数;在二叉树中查找某一结点;层序遍历;判断是否为完全二叉树)

    typedef struct TreeNode {struct TreeNode *left;struct TreeNode *right;char val; }TreeNode;typedef st ...

  10. 二叉树叶子结点,非叶子节点以及深度的计算

    二叉树叶子结点的计算 //统计叶子结点的数目 int LeafNum(BiTree T) {if (!T) {return 0;} else if (!T->lchild && ...

最新文章

  1. mysql老是下载了用不了_mysql - 下载与安装
  2. ElasticSearch2.2.0安装
  3. redis与spring的完全集成
  4. 金士顿u盘分区工具_使用U盘工具给电脑硬盘快速分区教程
  5. SpringBoot_数据访问-整合MyBatis(二)-配置版MyBatis
  6. Android 获得ImageView中Image的绘制大小
  7. threejs 绘制球体_Three.js 第一篇:绘制一个静态的3D球体
  8. 服务器系统格式,服务器系统编码格式
  9. L1-003. 个位数统计-PAT团体程序设计天梯赛GPLT
  10. Android Multimedia框架总结(二十四)MediaMuxer实现手机屏幕录制成gif图
  11. 电脑端OneNote2019(win10系统)登录微软账号登陆错误报错误码0x80860010错误-已解决
  12. 商务与经济统计学习笔记整理/安德森/第13版
  13. 你的脑容量(字符串问题,小技巧)
  14. 关于PHP 源码 加密的 一些 学习(黑刀)
  15. Cross-speaker Style Transfer with Prosody Bottleneck in Neural Speech Synthesis
  16. android 设置锁屏壁纸
  17. 计算机专业的入门书籍(第一篇博客)
  18. 《Erlang/OTP并发编程实战》第八章 分布式 Erlang/OTP 简介
  19. linux ftp上传目录,Linux中ftp不能上传文件/目录的解决办法
  20. Python 实现三维建模工具(上)

热门文章

  1. 大数据hadoop学习【9】-----通过JAVA语言编程,实现对Hbase数据库表及数据的相关操作
  2. html5 innerhtml标签,innerHTML、outerHTML与innerText、outerText
  3. 一个简化的分布式系统架构图
  4. 电视大屏怎么看英语启蒙动画片?跟着这3个应用学,省不少早教钱
  5. 北京大学计算机辅助翻译招生计划,北京大学计算机辅助翻译硕士复习规划
  6. TCP/IP协议五:HTTP协议详解
  7. 28Python库分析科比生涯数据
  8. 音乐播放器 歌词同步滚动功能实现
  9. windows安装VS2015
  10. 互联网产品的前世今生