
圖中你看過幾個XD?
================================
import java.io.*;
class node{
char data;
node left;
node right;
node(char d,node l,node r){
data = d;
left = l;
right = r;
}
}
class Tree{
node root;
Tree(String p,String q){
root = build(p,0,p.length()-1,q,0,q.length()-1);
}
node build(String p,int pl,int pr,String q,int ql,int qr){
if(pl==pr)
return new node(p.charAt(pl),null,null);
char rootdata = q.charAt(qr);
int rootPos = p.indexOf(rootdata);
if(rootPos==pr){
return new node(rootdata,build(p,pl,pr-1,q,ql,qr-1),null);
}else if(rootPos==pl){
return new node(rootdata,null,build(p,pl+1,pr,q,ql,qr-1));
}else{
int d = rootPos-pl;
return new node(rootdata,build(p,pl,rootPos-1,q,ql,ql+d-1),build(p,rootPos+1,pr,q,ql+d,qr-1));
}
}
public void preTrav(node n){
if(n==null)
return;
System.out.print(n.data);
preTrav(n.left);
preTrav(n.right);
}
}
public class uniqueTree{
public static void main(String[] alio) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("infix = ");
String p = br.readLine();
System.out.print("postfix = ");
String q = br.readLine();
Tree t = new Tree(p,q);
t.preTrav(t.root);
}
}
================================
我懷疑人們看到這電梯的第一反應...