说明
输出格式
输出文件 flist.out 就一行,表示二叉树的先序序列。
说明
输出格式
输出文件 flist.out 就一行,表示二叉树的先序序列。
import java.util.*;
public class Main {
private static String inOrder;
private static String levelOrder;
private static boolean[] flag;
private static void firstOut(int left, int right) {
int idx = -1;
for (int i = 0; i < inOrder.length(); i++) {
if (flag[i]) {
for (int j = left; j < right; j++) {
if (levelOrder.charAt(i) == inOrder.charAt(j)) {
idx = j;
flag[i] = false;
break;
}
}
if (!flag[i]) {
break;
}
}
}
if (idx != -1) {
System.out.print(inOrder.charAt(idx));
if (idx > left) {
firstOut(left, idx);
}
if (idx < right - 1) {
firstOut(idx + 1, right);
}
}
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
inOrder = in.nextLine();
levelOrder = in.nextLine();
flag = new boolean[inOrder.length()];
Arrays.fill(flag, true);
firstOut(0, inOrder.length());
}
}