【输入样例】 ABD..EF..G..C.. 【输出样例】 DBFEGAC DFGEBCA #include<bits/stdc++.h> using namespace std; #define N 1005 struct Node { char val; int left,right; }; Node node[N]; string s; int cnt ,i=-1; int p; void createTree(int t) { i++; node[t].val=s[i]; if(s[i]!='.') { node[t].left=2*t; node[t].right=2*t+1; createTree(node[t].left); createTree(node[t].right); } else { return ; } } void preOrder(int r) { if(r==0) { return; } preOrder(node[r].left); if(node[r].val!='.') cout<<node[r].val; preOrder(node[r].right); } void preOrder2(int r) { if(r==0) { return; } preOrder2(node[r].left); preOrder2(node[r].right); if(node[r].val!='.') cout<<node[r].val; } int main() { string s_mid,s_lev; cin>>s; createTree(1); preOrder(1); cout<<endl; preOrder2(1); return 0; }