【java】二叉樹重建

輸入二叉樹的後序遍歷和中序遍歷,輸出它的先序遍歷。

樣例輸入:

ACBFGED ABCDEFG

CDAB CBAD

樣例輸出:

DBACEGF

BCAD

import java.util.Scanner;
public class Main {
	public static StringBuffer str=new StringBuffer();
	public static void buildTree(String s1,String s2){
		if(s1.length()<=0)
			return;
		char c=s1.charAt(s1.length()-1);
		int index=s2.indexOf(c);
		str.append(c);
		buildTree(s1.substring(0,index),s2.substring(0,index));
		buildTree(s1.substring(index,s1.length()-1),s2.substring(index+1));
	}
	public static void main(String[] args){
		Scanner scanner = new Scanner(System.in);
		while(scanner.hasNext())
		{
			String s1=scanner.nextLine();
			String s2=scanner.nextLine();
			str.setLength(0);
			buildTree(s1,s2);
			System.out.println(str.toString());
		}
		scanner.close();
	}

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章