题目链接
要有数据结构基础,dfs
import java.util.*;
import java.math.*;
public class Main {
public static int[] dx={1,1,-1,-1,0,0,1,-1};
public static int[] dy={-1,1,1,-1,1,-1,0,0};
public static int len;
public static String zhong,hou;
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
zhong=sc.nextLine();
hou=sc.nextLine();
len=hou.length();
dfs(0,len-1,0,len-1);
}
public static void dfs(int zs,int ze,int hs,int he){
int m=find(hou.charAt(he));
System.out.print(hou.charAt(he));
if(m>zs)
dfs(zs,m-1, hs,he-ze+m-1);
if(m<ze)
dfs(m+1,ze,hs+m-zs,he-1);
}
public static int find(char x){
int i;
for(i=0;i<len;i++)
if(zhong.charAt(i)==x)
return i;
return -1;
}
}