栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

SWUST OJ 975统计利用先序遍历创建的二叉树的度为2的结点个数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SWUST OJ 975统计利用先序遍历创建的二叉树的度为2的结点个数

输入

接受键盘输入的由大写英文字符和"#"字符构成的一个字符串(用于创建对应的二叉树)。

输出

输出该用例对应的二叉树度为2的结点个数。

样例输入复制

#
A##
ABC####
AB##C##
ABCD###EF##G##H##
A##B##
#A

样例输出复制

0
0
0
1
3
0
0

#include 
#include 

using namespace std;

typedef struct BitNode{
    char data;
    struct BitNode *lc,*rc;
}BitNode,*BitTree;

void CreateBitTree(BitTree &T){
    char ch; cin >> ch;
    if(ch!='#'){
        T = (BitTree)malloc(sizeof(BitNode));
        T->data = ch; 
        CreateBitTree(T->lc);
        CreateBitTree(T->rc);
    }else T = NULL;
}

int n=0;
int VisitBitTree(BitTree T){
    if(T!=NULL){
        if(T->lc!=NULL&&T->rc!=NULL)  //度为二的节点,左右指针不为空
            n++;
        VisitBitTree(T->lc);
        VisitBitTree(T->rc);
    }
    return n;
}

int main(){
    BitTree T = NULL;
    CreateBitTree(T);
    cout << VisitBitTree(T);
    return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/832904.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号