文章
14
粉丝
0
获赞
16
访问
912
#include<bits/stdc++.h>
using namespace std;
string s; //全局变量
struct Tree{
char c;
Tree *lchild, *rchild;
};
void BuildTree(Tree* &T, int n, int &idx)
{
if(idx >= n) return;
if(s[idx] == '#')
{
T = new Tree; T->lchild = nullptr, T->rchild = nullptr;
T->c = s[idx];
return;
}
T = new Tree; T->lchild = nullptr, T->rchild = nullptr; //这里和前面其实可以合并简化一下捏
T->c = s[idx];
BuildTree(T->lchild, n, ++idx);
BuildTree(T->rchild, n, ++idx); //先序建树
}
void BianLi(Tree *T, int n)
{
bool flag = true;
queue<Tree*> q; q.push(T);
while(n --)
{
int cnt = q.size(); //层序遍历
while(cnt --)
{
Tree *temp = q.front(); q.pop();
if(temp->c == '#')
{
if(flag){flag = false;}
}
else{
if(!flag){cout << 'N' << '\n'; return;}
q.push(temp->lchild); q.push(temp->rchild);
}
}
}
cout << 'Y' << '\n';
return;
}
int main()
{
while(cin ...
登录后发布评论
暂无评论,来抢沙发