题解 | #字符串加密#

字符串加密

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));
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务