题解 | #字符串加密#
字符串加密
https://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) { BufferedReader r = new BufferedReader(new InputStreamReader(System.in)); String a, b; try { a = r.readLine(); b = r.readLine(); } catch (IOException e) { throw new RuntimeException(e); } char[] key = a.toCharArray(); char[] inp = b.toCharArray(); char[] arr = new char[26]; int[] rep = new int[26];//判断是否重复的数组 int i = 0, j = 0, indx, l = key.length; do { indx = key[i] - 'a'; if (rep[indx] == 0) {//如果key中第i个字符没有被放入arr,就放入arr arr[j++] = key[i]; rep[indx] = 1; } i++; } while (i < l); i = 0; do {//将剩余字母表中的字符存入arr if (rep[i] == 0) arr[j++] = (char) (i + 'a'); i++; } while (i < 26); i = 0; l = inp.length; do { indx = inp[i] - 'a'; inp[i] = arr[indx];//根据索引将输入的字符进行替换 i++; } while (i < l); System.out.print(new String(inp)); } }