数据结构实验之二叉树三:统计叶子数

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

已知二叉树的一个按先序遍历输入的字符序列,如abc,,de,g,,f,,, (其中,表示空结点)。请建立二叉树并求二叉树的叶子结点个数。

Input

连续输入多组数据,每组数据输入一个长度小于50个字符的字符串。

Output

输出二叉树的叶子结点个数。

Sample Input

abc,,de,g,,f,,,

Sample Output

3

PS:叶子就是左右儿子都为空的节点

#include <stdio.h>
#include <stdlib.h>
#include <string.h> typedef struct tree
{
char data;
struct tree *l,*r;
}tree; int num,i;
char s[55]; tree *newtree()//开辟新节点
{
tree *t;
t = (tree*)malloc(sizeof(tree));
t->l = t->r = NULL;
return t;
} tree *creat()//根据所给的先序遍历建立二叉树
{
tree *t = newtree();
if(s[i++]==',')
return NULL;
t->data = s[i-1];
t->l = creat();
t->r = creat();
return t;
} void get_num(tree *t)//统计叶子数
{
if(t)
{
if(t->l==NULL&&t->r==NULL)
num++;
get_num(t->l);
get_num(t->r);
}
} int main()
{
tree *t;
while(scanf("%s",s)!=EOF)
{
i = num = 0;
t = newtree();
t = creat();
get_num(t);
printf("%d\n",num);
}
return 0;
}

SDUT-3342_数据结构实验之二叉树三:统计叶子数的更多相关文章

  1. SDUT OJ 数据结构实验之二叉树三:统计叶子数

    数据结构实验之二叉树三:统计叶子数 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descr ...

  2. SDUT 3342 数据结构实验之二叉树三:统计叶子数

    数据结构实验之二叉树三:统计叶子数 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 已知二叉 ...

  3. SDUT 3375 数据结构实验之查找三:树的种类统计

    数据结构实验之查找三:树的种类统计 Time Limit: 400MS Memory Limit: 65536KB Submit Statistic Problem Description 随着卫星成 ...

  4. SDUT 3311 数据结构实验之串三:KMP应用

    数据结构实验之串三:KMP应用 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 有n个小朋友 ...

  5. SDUT 3346 数据结构实验之二叉树七:叶子问题

    数据结构实验之二叉树七:叶子问题 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 已知一个按 ...

  6. SDUT 3347 数据结构实验之数组三:快速转置

    数据结构实验之数组三:快速转置 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 转置运算是一 ...

  7. SDUT 3345 数据结构实验之二叉树六:哈夫曼编码

    数据结构实验之二叉树六:哈夫曼编码 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 字符的编 ...

  8. SDUT 3340 数据结构实验之二叉树一:树的同构

    数据结构实验之二叉树一:树的同构 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 给定两棵树 ...

  9. SDUT 3344 数据结构实验之二叉树五:层序遍历

    数据结构实验之二叉树五:层序遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 已知一个按 ...

随机推荐

  1. 【python之路35】FTP文件断电续传作业

    开发一个支持多用户在线FTP程序: 要求: 1.用户MD5加密认证 2.允许同时多用户登陆(socketserver) 3.执行命令 4.上传文件 文件传输过程中显示进度条 支持文件的断点续传

  2. 2017年8月9日学习内容存放 #socket通信介绍

    2017年8月9日学习内容存放 #socket通信介绍 ''' OSI七层 应用 表示 会话 传输 网络 ip 数据链路 mac 物理层 网线 http smtp dns ftp ssh snmp i ...

  3. JS面向对象--你真的理解闭包了吗?

    JS中的闭包,可能在实际开发中我们用的很少,但是面试的时候是必问的.所以今儿个总结一下什么是闭包. 首先,我们定义一个变量.会分为两种情况,1是定义在全局中,我们关闭程序的时候变量会从内存中释放.2是 ...

  4. win8 装的SQL Server2012 企业版

    链接:ed2k://|file|cn_sql_server_2012_enterprise_edition_x86_x64_dvd_813295.iso|5054384128|BC78EFDC4005 ...

  5. 读书笔记--Head First 面向对象分析与设计 目录

    1.良好应用程序的基石 2.收集需求 3.需求变更 4.分析 5.良好的设计=灵活的软件 6.解决大问题 7.架构 8.设计原则 9.迭代与测试 10.OOA&D 的生命周期 附录1 附录2

  6. Ubuntu linux下部署golang配置环境,极客学院 无闻讲的安装配置是错的,折腾我好几遍,真是有点坑

    开始按极客学院无闻讲的做,弄了几遍都不行,最后发现是错的,别人告诉我这是mac下的virtualbox是这样的,不管怎样,被坑的不浅. 虽然sudo apt install golang-go 就能安 ...

  7. python 数据文件操作——读入数据

  8. golang 命令行参数

    package main import ( "fmt" "flag" ) func main() { //定义几个变量,用于接收命令行的参数值 var user ...

  9. Oracle操作XML各种场景介绍

    版权声明:凭栏处.潇潇雨歇. https://blog.csdn.net/IndexMan/article/details/28130961 近期在研究Oracle PLSQL中对于XML的系列操作. ...

  10. 《2019年上半年Web应用安全报告》发布:90%以上攻击流量来源于扫描器,IP身份不再可信

    Web应用安全依然是互联网安全的最大威胁来源之一,除了传统的网页和APP,API和各种小程序也作为新的流量入口快速崛起,更多的流量入口和更易用的调用方式在提高web应用开发效率的同时也带来了更多和更复 ...