有亿个小问题
查看原帖
有亿个小问题
395826
taoyuhan楼主2022/1/20 10:04
#include<bits/stdc++.h>
using namespace std;

struct Tnode {
	char data;
	Tnode *l,*r;
};
Tnode* build(char *pre,char *mid,int len) {
	if (len==0) return NULL;
	char c=pre[0]; int r=0;
	while (mid[r]!=c) r++;
	Tnode *T=new Tnode;  T->data=c;
	T->l=build(pre+1,mid,r);
	T->r=build(pre+r+1,mid+r+1,len-r-1);
}
void print(Tnode *T) {
	if (T) {
		print(T->l);
		print(T->r);
		cout<<T->data;
	}
} 
int main() {
	string a,b; cin>>a>>b;
	int c=a.size();
	char *pre=new char;
	char *mid=new char;
	pre=&b[0]; mid=&a[0];
	Tnode *root=new Tnode;
	root=build(pre,mid,c);
	print(root);
	return 0;
}

求助大佬

2022/1/20 10:04
加载中...