Description

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

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

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

abc,de,g,f,

Output

3

Hint

#include<bits/stdc++.h>using namespace std;typedef struct node
{char data;struct node *l, *r;
} Tree;char pre[55];
int cnt, leaves;
Tree* creat()
{Tree* root;if(pre[cnt] == ','){cnt++;root = NULL;}else{root = new Tree;root->data = pre[cnt++];root->l = creat();root->r = creat();}return root;
}
void count_leaves(Tree *root)
{if(root){if(!root->l && !root->r){leaves++;}count_leaves(root->l);count_leaves(root->r);}
}
int main()
{while(~scanf("%s", pre)){cnt = 0;leaves = 0;Tree *root = creat();count_leaves(root);printf("%d\n", leaves);}return 0;
}

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

  1. 数据结构实验二 :二叉树的操作与实现

    数据结构实验一:线性表,堆栈和队列实现 数据结构实验二 :二叉树的操作与实现 数据结构实验三: 图的操作与实现 数据结构实验四 : 查找和排序算法实现 文章目录 一.实验目的: 二.使用仪器.器材 三 ...

  2. sdut 3341数据结构实验之二叉树二:遍历二叉树

    数据结构实验之二叉树二:遍历二叉树 Time Limit: 1000MS Memory Limit: 65536K Problem Description 已知二叉树的一个按先序遍历输入的字符序列,如 ...

  3. SDUT_2118 数据结构实验之链表三:链表的逆置

    点击打开链接 数据结构实验之链表三:链表的逆置 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem De ...

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

    数据结构实验之数组三:快速转置 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 转置运算是一种最简单的矩阵运算,对于一个 ...

  5. SDUT 3400 数据结构实验之排序三:bucket sort

    数据结构实验之排序三:bucket sort Time Limit: 150MS Memory Limit: 65536KB Submit Statistic Problem Description ...

  6. 数据结构实验之二叉树五:层序遍历 // oj3344 队列+二叉树 // 先序 --层次

    原题链接:oj3344 数据结构实验之二叉树五:层序遍历 Description 已知一个按先序输入的字符序列,如abd,eg,cf,(其中,表示空结点).请建立二叉树并求二叉树的层次遍历序列. In ...

  7. 数据结构实验之排序三:bucket sort SDUT

    数据结构实验之排序三:bucket sort SDUT Time Limit: 250 ms Memory Limit: 65536 KiB Submit Statistic Problem Desc ...

  8. oj 数据结构实验之图论三:判断可达性

    数据结构实验之图论三:判断可达性 Description 在古老的魔兽传说中,有两个军团,一个叫天灾,一个叫近卫.在他们所在的地域,有n个隘口,编号为1-n,某些隘口之间是有通道连接的.其中近卫军团在 ...

  9. 2138 数据结构实验之图论三:判断可达性

    数据结构实验之图论三:判断可达性 Time Limit: 1000MS Memory Limit: 65536KB Problem Description 在古老的魔兽传说中,有两个军团,一个叫天灾, ...

最新文章

  1. Redis初学:7(Set类型)
  2. Java中的值传递和引用传递
  3. 出现这四种情况,才是考虑分库分表的时候!
  4. 使用screen/byobu 管理你的远程会话
  5. java实现Windows资源管理器
  6. CSDN markdown 如何更改文字字体、样式、颜色、大小?
  7. java同名类_java两个不同名类 在里面建立两个同名的类 怎么破
  8. python兼容js base64_前端base64编码的坑
  9. JGrid有用的收藏
  10. Rpc远程调用框架的设计与实现(2)
  11. iOS - Phone 电话
  12. echo输出不重复行到文件 shell_Shell脚本100例:43 shell中echo用法
  13. 『Numpy』内存分析_利用共享内存创建数组
  14. Universal Radio Hacker(URH):一个用于逆向解析和攻击无线通信协议的开源工具
  15. HashMap 排序题
  16. 词根词缀的实践应用 - 词根词缀词典墨墨详细使用
  17. 上海牌照(沪牌)拍牌,软件,手动
  18. 给腾讯云主机上配置SFTP
  19. 华为机试:机器人走迷宫
  20. 十年老程序员开始新事业

热门文章

  1. 回归、线性回归和逻辑回归【逻辑回归部分待完成】
  2. 利用python进行数据分析第二版学习笔记
  3. 图解WebGLThree.js工作原理【转】
  4. 可重入锁ReentrantLock--转载
  5. java使用jsp servlet来防止csrf 攻击的实现方法
  6. 如何手动卸载 SQL Server 2005 实例(官方)
  7. 【风控模型】融合模型Bagging构建信用评分卡模型
  8. JavaScript称霸
  9. C语言N台服务器通信,使用socket的Linux上的C语言文件传输顺序服务器和客户端示例程序 ....
  10. Spring-AOP概述