圖中你看過幾個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);
 }
}

================================

我懷疑人們看到這電梯的第一反應...


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 steven70101 的頭像
    steven70101

    老人家的舊書房

    steven70101 發表在 痞客邦 留言(0) 人氣()