页首是什么<\h1>

编程练习题2

已知某二叉树的先序序列和中序序列,编程计算并输出该二叉树的后序序列。


输入说明:仅一组数据,分为两行输入,第一行表示指定二叉树的先序序列,第二行表示该二叉树的中序序列,序列

元素均为大写英文字符,表示二叉树的结点。



输出说明:在一行上输出该二叉树的后序序列。


输入样本:


ABDGCEFH


DGBAECHF


输出样本:


GDBEHFCA

 

static String fs = "ABDGCEFH";
    static String ms = "DGBAECHF";
    
    public static void main(String[] args) {
        Test09 t = new Test09();
        t.deal(0,0,ms.length()-1);
    }
    
    public void deal(int fs_low,int ms_low,int ms_height){
        
        if(ms_height-ms_low < 0){
            return;
        }
        else if(ms_height-ms_low == 0){
            System.out.println(ms.charAt(ms_low));
            return;
        }
        int middle = ms.indexOf(fs.charAt(fs_low));
        
        deal(fs_low+1,ms_low,middle-1);
        deal(fs_low+middle-ms_low+1,middle+1,ms_height);
        System.out.println(ms.charAt(middle));
    }

 

 

posted @ 2014-04-10 22:28  YES_eng  阅读(145)  评论(0编辑  收藏  举报