国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)之二叉樹三:統(tǒng)計(jì)葉子數(shù)

2019-11-11 02:50:41
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

sdut原題鏈接

數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)之二叉樹三:統(tǒng)計(jì)葉子數(shù) Time Limit: 1000MS Memory Limit: 65536KB

PRoblem Description 已知二叉樹的一個(gè)按先序遍歷輸入的字符序列,如abc,,de,g,,f,,, (其中,表示空結(jié)點(diǎn))。請(qǐng)建立二叉樹并求二叉樹的葉子結(jié)點(diǎn)個(gè)數(shù)。

Input 連續(xù)輸入多組數(shù)據(jù),每組數(shù)據(jù)輸入一個(gè)長(zhǎng)度小于50個(gè)字符的字符串。

Output 輸出二叉樹的葉子結(jié)點(diǎn)個(gè)數(shù)。

Example Input abc,,de,g,,f,,,

Example Output 3

Hint

Author xam

以下為accepted代碼

#include <stdio.h>#include <string.h>#include <stdlib.h>typedef struct node{ char date; struct node *left; struct node *right;}BinTree;char s[104];int flag, y1;BinTree *root;BinTree * creat()//建樹{ BinTree * root; if(s[flag++] == ','){ root = NULL; } else { root = (BinTree *)malloc(sizeof(BinTree)); root->date = s[flag-1]; root->left = creat(); root->right = creat(); } return root;}void leave(BinTree *root)//計(jì)算葉子數(shù)目{ if(root)///判斷root是否為NULL { if(root->left == NULL && root->right == NULL) { y1++; } leave(root->left); leave(root->right); }}int main(){ while(scanf("%s", s) != EOF) { flag = y1 = 0; root = creat();//調(diào)用建樹函數(shù) leave(root);//調(diào)用計(jì)算葉子數(shù)目函數(shù) printf("%d/n", y1); } return 0;}/***************************************************User name: Result: AcceptedTake time: 0msTake Memory: 112KBSubmit time: 2017-02-07 11:46:51****************************************************/

以下為runtime error代碼

#include <stdio.h>#include <string.h>#include <stdlib.h>typedef struct node{ char date; struct node *left; struct node *right;}BinTree;char s[54];int flag, y1;BinTree *root;BinTree * creat()//建樹{ BinTree * root; if(s[flag++] == ','){ root = NULL; } else { root = (BinTree *)malloc(sizeof(BinTree)); root->date = s[flag-1]; root->left = creat(); root->right = creat(); } return root;}void leave(BinTree *root)//計(jì)算葉子數(shù)目{ if(!root->left && !root->right){ y1++; }}int main(){ while(scanf("%s", s) != EOF) { flag = y1 = 0; root = creat();//調(diào)用建樹函數(shù) leave(root);//調(diào)用計(jì)算葉子數(shù)目函數(shù) printf("%d/n", y1); } return 0;}/***************************************************User name: LEOResult: Runtime ErrorTake time: 0msTake Memory: 0KBSubmit time: 2017-02-07 11:31:15****************************************************/

runtime error cause: 1 在計(jì)算葉子數(shù)目函數(shù)中沒有判斷root是否為NULL;


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 万荣县| 清水河县| 苏州市| 济阳县| 湖口县| 宜章县| 章丘市| 桦川县| 清苑县| 习水县| 东兰县| 鹰潭市| 冷水江市| 高清| 赞皇县| 博客| 武川县| 阜新| 石楼县| 尖扎县| 富源县| 安义县| 嘉义市| 修水县| 旺苍县| 扎兰屯市| 武宁县| 广德县| 贞丰县| 松溪县| 正蓝旗| 郓城县| 芦山县| 建始县| 桂阳县| 互助| 石城县| 宁陕县| 繁峙县| 吉木萨尔县| 介休市|