题目:给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,且二叉树的节点个数不超过8)
代码:
#include<bits/stdc++.h>
using namespace std;
string z,h;
void qiu(int i,int j,int q){
if(i==j){
printf("%c",z[i]);
return ;
}
char c=h[q];
for(int m=i;m<=j;m++){
if(z[m]==c){
printf("%c",c);
qiu(i,m-1,q-m+i-1);
qiu(m+1,j,q-1);
}
}
}
int main(){
cin>>z>>h;
qiu(0,h.size()-1,h.size()-1);
}
只有40分,为何?