牛客的题解质量真的是远不如leetcode啊 很少看到眼前一亮的题解
这个题目要求保留大小写状态 然后又说输入保证全是小写... 黑人脸问号???
import java.util.BitSet;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String key = in.nextLine();
        String cipher = in.nextLine();
        BitSet bitSet = new BitSet();
        char[] dict = new char[26];
        int i = 0;
        for (char c : key.toLowerCase().toCharArray()) {
            if (!bitSet.get(c)) {
                bitSet.set(c);
                dict[i++] = c;
            }
        }
        while (i < 26) {
            for (char c = 'a'; c <= 'z'; c++) {
                if (!bitSet.get(c)) {
                    bitSet.set(c);
                    dict[i++] = c;
                }
            }
        }
        int d = 'a' - 'A';
        for (char c : cipher.toCharArray()) {
            if (Character.isLetter(c)) {
                System.out.print(dict[c - 'a']);
            } else {
                System.out.print(c);
            }
        }
    }
}