2020-07-13 新二叉树
作者:
JalorOo | 来源:发表于
2020-07-13 21:49 被阅读0次
题目:https://www.luogu.com.cn/problem/P1305
#include<cstdio>
#include<cstring>
#include<cmath>
#include <iostream>
#include<algorithm>
using namespace std;
struct node{
int l = -1;
int r = -1;
};
int read(){
int x=0,f=1;
char c = getchar();
while(c<'0'||c>'9'){//符号位
if(c=='-')
f=-1;
c = getchar();
}
while(c>='0'&&c<='9'){//数字
x = x*10 + c -'0';
c=getchar();
}
return x*f;
}
node map[30];
void PreOrder(int start){
if (start>=0) {
//printf("%d\n",start);
char ans = 'a' + start;
printf("%c",ans);
PreOrder(map[start].l);
PreOrder(map[start].r);
}
}
int start;
string str;
int main()
{
int n = read();
for (int i = 1 ; i <= n; i++) {
cin>>str;
if (i==1) {//记录根节点
start = (str[0]-'a');
}
if (str[1]!=0) {//左儿子
map[ (str[0]-'a') ].l = (str[1]-'a');
}
if (str[2]!=0) {//右儿子
map[ (str[0]-'a') ].r = (str[2]-'a');
}
}
//二叉树的前序遍历
PreOrder(start);
return 0;
}
/*
6
abc
bdi
cj*
d**
i**
j**
*/
本文标题:2020-07-13 新二叉树
本文链接:https://www.haomeiwen.com/subject/kpozcktx.html
网友评论