您现在的位置是:主页 > news > dedeai网站最新/淘客推广怎么做

dedeai网站最新/淘客推广怎么做

admin2025/6/29 22:21:14news

简介dedeai网站最新,淘客推广怎么做,中国建筑土木建设有限公司网站,温州商城网站建设建立一棵二叉树,用二叉链表存储二叉树,计算二叉树中包含的结点个数,并分别计算该二叉树中度为0、1和2的结点个数。 输入描述 输入的数据只有一组,是一棵二叉树的先序遍历序列,结点的值为一个小写字母,#号…

dedeai网站最新,淘客推广怎么做,中国建筑土木建设有限公司网站,温州商城网站建设建立一棵二叉树,用二叉链表存储二叉树,计算二叉树中包含的结点个数,并分别计算该二叉树中度为0、1和2的结点个数。 输入描述 输入的数据只有一组,是一棵二叉树的先序遍历序列,结点的值为一个小写字母,#号…

建立一棵二叉树,用二叉链表存储二叉树,计算二叉树中包含的结点个数,并分别计算该二叉树中度为0、1和2的结点个数。

输入描述

输入的数据只有一组,是一棵二叉树的先序遍历序列,结点的值为一个小写字母,#号表示结点为空。如输入:abde##f###c##。

输出描述

输出二叉树的结点个数、度为0的结点个数、度为1的结点个数和度为2的结点个数,用空格分开;如果为空树,则输出NULL。

输入样例

abde##f###c##

输出样例

6 3 1 2

思路:水

代码:

#include<iostream>using namespace std;int zero = 0;
int first = 0;
int second = 0;struct Node
{char data;Node *left;Node *right;	
};class Tree
{
public:Tree();Node*root;Node*Create();bool rootEmpty();void Pre(Node *node);
};bool Tree::rootEmpty()
{if(root==NULL) return true;else return false;
}Tree::Tree()
{root = Create();
}Node*Tree::Create()
{Node* seed;char data;cin>>data;if(data == '#') seed = NULL;else{seed = new Node;seed->data = data;seed->left = Create();seed->right = Create();}return seed;
}void Tree::Pre(Node *node)
{if(node == NULL){return;}else{	if(node->left != NULL && node->right != NULL) second++;if(node->left == NULL && node->right != NULL) first++;if(node->left != NULL && node->right == NULL) first++;if(node->left == NULL && node->right == NULL) zero++;Pre(node->left);Pre(node->right);}
}int main()
{Tree T;if(T.rootEmpty()){cout<<"NULL";return 0;	}else{T.Pre(T.root);int sum=second+first+zero;cout<<sum<<' '<<zero<<' '<<first<<' '<<second;	}return 0;
}