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

2018-06-17 23:36:50来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

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

Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic

Problem Description

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

Input

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

Output

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

Example Input

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

Example Output

3

DQE:

水题一道。
 
 1 #include <iostream>
 2 #include <cstdio>
 3 
 4 using namespace std;
 5 
 6 struct Tree
 7 {
 8     char c;
 9     Tree *lt,*rt;
10 };
11 
12 Tree *creat(char *&xx)
13 {
14     if(*xx=='\0')
15         return NULL;
16     if(*xx==',')
17     {
18         xx++;
19         return NULL;
20     }
21     Tree *r=new Tree;
22     r->c=*xx++;
23     r->lt=creat(xx);
24     r->rt=creat(xx);
25     return r;
26 }
27 
28 int visit(Tree *r)
29 {
30     if(r==NULL)
31         return 0;
32     if(r->lt==NULL&&r->rt==NULL)
33         return 1;
34     return visit(r->lt)+visit(r->rt);
35 }
36 
37 int main()
38 {
39     Tree *root;
40     char xx[55],*p;
41     while(scanf("%s",xx)!=EOF)
42     {
43         p=xx;
44         root=creat(p);
45         printf("%d\n",visit(root));
46     }
47     return 0;
48 }
49 
50 /***************************************************
51 User name: ***
52 Result: Accepted
53 Take time: 0ms
54 Take Memory: 160KB
55 Submit time: 2016-11-03 18:21:59
56 ****************************************************/

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:C语言 Web实时消息后台服务器推送技术---GoEasy

下一篇:error C2664: &#39;BOOL (PCERT_SELECT_STRUCT_A)&#39;