2255

来源:互联网 发布:mac翻墙软件免费 编辑:程序博客网 时间:2024/05/16 03:02

这题,自认为做的不错。

#include<iostream>

#include <string>

 

using namespace std;

 

 

void print(string pre , string in);

int main(void)

{

string preOrder,inOrder;

while(cin>>preOrder>>inOrder )

{

print(preOrder , inOrder);

cout<<endl;

}

return 0;

}

 

void print(string pre , string in)

{

if(pre.length() == 0) return;

int pos = in.find(pre[0]);

print(pre.substr(1,pos) , in.substr(0,pos)); //print leftTree

print(pre.substr(pos+1) , in.substr(pos+1)); //print rightTree

cout<<pre[0];

}

原创粉丝点击