华师一附中OI组
标题:
P1030 求先序排列
[打印本页]
作者:
admin
时间:
2018-5-5 19:06
标题:
P1030 求先序排列
https://www.luogu.org/problemnew/show/P1030
题目描述
给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度<=8)。
输入输出格式
输入格式:
2行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。
输出格式:
1行,表示一棵二叉树的先序。
输入输出样例
输入样例#1:
BADC
BDCA
输出样例#1:
作者:
黄煦喆
时间:
2018-5-5 20:26
#include<iostream>
using namespace std;
string s,mid,bk;
void ms(string a,string b)
{
if(a.size()>0)
{
int l=b.size();
char ch=b[l-1];
cout<<ch;
int k=a.find(ch);
ms(a.substr(0,k),b.substr(0,k));
ms(a.substr(k+1),b.substr(k,a.size()-k-1));
}
}
int main()
{
cin>>mid>>bk;
ms(mid,bk);
return 0;
}
复制代码
作者:
倚窗倾听风吹雨
时间:
2018-9-7 17:43
#include<iostream>
using namespace std;
string sf,sa;
void w(string x,string y)
{
if(x.size()<1)return;
char ch=y[y.size()-1];
cout<<ch;
if(x.size()<=1)return;
string x1,x2,y1,y2;
int i=0;
while(x[i]!=ch)
{
x1+=x[i];
y1+=y[i];
i++;
}
w(x1,y1);
for(int j=i+1;j<x.size();j++)
{
x2+=x[j];
y2+=y[j-1];
}
w(x2,y2);
}
int main()
{
cin>>sf>>sa;
w(sf,sa);
return 0;
}
复制代码
欢迎光临 华师一附中OI组 (http://hsyit.cn/)
Powered by Discuz! X3.2