题目:
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出
肯定坏掉的那些键。
思路:
首先我们要注意的点:
1.键盘的输入有大写有小写,并且大小写敏感。
2.如果这个键盘上的按键坏掉的化,那么不论是大写还是小写都不应该输出。
我们现将输入输出中的字母都提升成大写,然后创建一个 HashSet ,用来保存错误输出的字符串,然后我们在用 正常应该输出的字符串中的每一个字符看是否存在这个HashSet 中,不存在就输出。
具体实现:
import java.util.HashSet;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
String trueString = scanner.next();
String falseString = scanner.next();
trueString = trueString.toUpperCase();
falseString = falseString.toUpperCase();
HashSet<Character> set = new HashSet<>();
for (int i = 0; i < falseString.length(); i++) {
set.add(falseString.charAt(i));
}
HashSet<Character> setPrint = new HashSet<>();
for (int i = 0; i < trueString.length(); i++) {
if (set.contains(trueString.charAt(i))) {
continue;
}
if (setPrint.contains(trueString.charAt(i))) {
continue;
}
System.out.print(trueString.charAt(i));
setPrint.add(trueString.charAt(i));
}
}
}
}