7-5 求二叉树的叶子结点个数 (20 分)

以二叉链表作为二叉树的存储结构,求二叉树的叶子结点个数。
输入格式:

输入二叉树的先序序列。

提示:一棵二叉树的先序序列是一个字符串,若字符是‘#’,表示该二叉树是空树,否则该字符是相应结点的数据元素。

输出格式:
输出有两行:
第一行是二叉树的中序遍历序列;
第二行是二叉树的叶子结点个数。

输入样例:

ABC##DE#G##F###

输出样例:

CBEGDFA
3

上代码:

#include <bits/stdc++.h>
using namespace std;struct treeNode
{char Data;struct treeNode* left;struct treeNode* right;
};typedef struct treeNode* Node;
int N=0;
Node createTree(char *zfsz){if(*(zfsz+N)=='#'){N++;return NULL;}Node root=(Node)malloc(sizeof(struct treeNode));root->Data=*(zfsz+N);N++;root->left=createTree(zfsz);root->right=createTree(zfsz);return root;
}
void zhongxubianli(Node root)
{if(root==NULL)return;zhongxubianli(root->left);cout<<root->Data;zhongxubianli(root->right);
}
int searchNode(Node Root){if(Root==NULL)return 0;if(Root->left==NULL&&Root->right==NULL)return searchNode(Root->left)+searchNode(Root->right)+1;elsereturn searchNode(Root->left)+searchNode(Root->right);
}
int main()
{string zfc;cin>>zfc;int N=zfc.size();char zfsz[N];for(int i=0;i<N;i++){zfsz[i]=zfc[i];}Node Root=createTree(zfsz);zhongxubianli(Root);cout<<endl;cout<<searchNode(Root);return 0;
}

求二叉树的叶子结点个数相关推荐

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

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

  2. 求二叉树的叶子结点个数(C语言)

    输入格式: 输入二叉树的先序序列. 提示:一棵二叉树的先序序列是一个字符串,若字符是'#',表示该二叉树是空树,否则该字符是相应结点的数据元素. 输出格式: 输出有两行: 第一行是二叉树的中序遍历序列 ...

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

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

  4. 求二叉树b的结点个数、叶子结点个数

    #include"tree.cpp" //包含了二叉树的基本算法/*-------- 求二叉树b的结点个数.叶子结点个数 ---------*///求二叉树b的结点个数 int N ...

  5. Java创建二叉树,并使用递归算法求二叉树中叶子结点的数目

    问题描述 创建二叉树,并使用递归算法求二叉树中叶子结点的数目 输入 输入一个用'.'来标明空子树的先根遍历序列,如ABD-EH-CF.I-G- 输出 叶子结点的个数 存储结构 二叉树 算法的基本思想 ...

  6. (数据结构)1.实现二叉树的各种基本运算的算法2.实现二叉树的各种遍历算法3. 由遍历序列构造二叉树4.求二叉树中的结点个数、叶子节点个数、某结点层次和二叉树宽度

    实验内容 1.假设二叉树中的每个结点值为单个字符,采用二叉链存储结构存储.设计一个算法,计算一棵给定二叉树b中的所有单分支结点个数. 2.假设二叉树中的每个结点值为单个字符,采用二叉链存储结构存储.设 ...

  7. 统计二叉树中叶子结点数数据结构C语言,统计二叉树中叶子结点个数的问题,

    #include #include typedef struct Node { int data; struct Node *LChild; struct Node *RChild; }BiTNode ...

  8. 计算二叉树的叶子结点个数_C++数据结构二叉树统计总结点个数,叶子结点个数,单分支结点个数,双分支结点个数。...

    很多书上其实都有提到和该算法.但是经过自己的学习我自己想到一个算法.算是结合了其中的优点吧. 算法描述:该算法递归去统计结点个数.值得一提的是该系列算法都是统计根结点以下的符和条件的结点的个数进行了加 ...

  9. 求二叉树中叶子结点的个数

    #include<iostream> #define N 63using namespace std;char str[] = "ab#d##c#e##"; int i ...

最新文章

  1. 【物联网中间件平台-01】真正面向物联网的组态软件 YFIOs和YFHMI的前生今世
  2. Lumen配置文件按需加载出现的坑
  3. Java多线程分析案例
  4. 构建安全的Xml Web Service系列之SSL篇
  5. LeetCode: Longest Consecutive Sequence [128]
  6. Java DCL 单例模式真的需要对变量加 Volatile 吗?
  7. %3c php foreach%3e,PHP 数组函数-数组排序
  8. python与html5搭建聊天室_html5 websocket 新版协议聊天室 服务端(python版)
  9. matlab画多组数据折线图_Python数据分析之初识可视化
  10. uni-app 模拟机调试环境搭建
  11. Nginx开启访问日志记录
  12. linux 中ifconfig命令 结果解释
  13. javaagent技术专利申请
  14. 有没有那种免费的办公软件?
  15. java 合并两个有序数组
  16. PHP仿金蝶云ERP进销存网络多仓版源码
  17. 数字图像处理,相位相关算法解决图像的刚性平移问题
  18. 日历控件修改的JS代码
  19. USYD悉尼大学DATA1002 OralExam 复习(可能会考的内容)
  20. 如何将Mac设置为热点?

热门文章

  1. ESP8266实现网页交互
  2. @“齐鲁多娇”幸运用户,山东5A景区喊你免费游园啦!
  3. php 腾讯地图 地址逆解析 根据经纬度获取地址信息
  4. 一道Android题目逆向动态调试
  5. docker中的Volume
  6. LeetCode+ 71 - 75
  7. bzoj1968【AHOI2005】COMMON 约数研究
  8. VMware vSphere Client客户端登录和新建虚拟机
  9. FITC/CY3/CY5/CY7荧光标记的HSP70蛋白,FITC/CY3/CY5/CY7-HSP70
  10. 【ROS-3】ROS实现图像目标检测