概述
Description
二叉树按照二叉链表方式存储,编写程序,计算二叉树中叶子结点的数目。
Input
按先序输入二叉树各结点,其中#表示取消建立子树结点。
Output
输出二叉树中叶子节点的数目。
-
Sample Input
ABD##EH###CF#I##G##
-
Sample Output
4
最重要的就是看出后面跟两个“#”的为叶结点。#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct tnode { char data; struct tnode *lchild,*rchild; }tnode; tnode *Create(tnode *t) { char c; c=getchar(); if(c=='#') t->data=c; else{ t->data=c; t->lchild=(tnode*)malloc(sizeof(tnode)),t->lchild=Create(t->lchild); t->rchild=(tnode*)malloc(sizeof(tnode)),t->rchild=Create(t->rchild); } return t; } int leave(tnode *t,int l) { //int l; if(t->lchild->data=='#'&&t->rchild->data=='#') return l+1; else{ if(t->lchild->data!='#') l=leave(t->lchild,l); if(t->rchild->data!='#') l=leave(t->rchild,l); return l; } } int main() { int l=0; tnode *t; t=(tnode*)malloc(sizeof(tnode)); t=Create(t); l=leave(t,l); printf("%d",l); return 0; }
最后
以上就是受伤白昼为你收集整理的计算二叉树叶子结点数目(耿6.14)DescriptionInputOutput的全部内容,希望文章能够帮你解决计算二叉树叶子结点数目(耿6.14)DescriptionInputOutput所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复