import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
HashSet<Character> set = new HashSet<>();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] str=new String[2];
str[0]= br.readLine();
str[1] = br.readLine();
for (int i = 0; i < 2; i++) {
for (int j = 0; j < str[i].length(); j++) {
if (set.contains(str[i].charAt(j))) {
continue;
} else {
set.add(str[i].charAt(j));
System.out.print(str[i].charAt(j));
}
}
}
}
}
遇到最后两个测试点超时的朋友,我发现只要O(n^2)的话就一定会超时,至少我用Java一直是这样的,所以要解题思路就转换成,用双层循环,但是外层循环不要用n。
这里巧妙的运用了一个String[]数组,在一次循环中把事情都做掉了。