题解 | #字符串加密#

字符串加密

https://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        char[] str1 = in.nextLine().toCharArray();
        char[] str2 = in.nextLine().toCharArray();
        HashMap<Character, Boolean> hashmap = new HashMap<>();
        HashMap<Integer, Character> letterMap = new HashMap<>();

        // 构造正常顺序表
        for (char ch = 'a'; ch <= 'z'; ch++) {
            hashmap.put(ch, true);
        }

        // 构造新字母表
        // {0:'a'}
        int i = 0;
        for (char ch : str1) {
            //先判断是否已经存储过
            if (letterMap.containsValue(ch)) {
                continue;
            }
            // 加入字母表字典
            letterMap.put(i,ch);
            // 将加入过的字母置于false
            hashmap.put(ch, false);
            i++;
        }
        // 补全新字母表
        for (char ch = 'a'; ch <= 'z'; ch++) {
            if (hashmap.get(ch)) {
                letterMap.put(i,ch);
                i++;
            }
        }

        // 加密str2
        for (char ch : str2) {
            // 找到正序子母表的索引
            int index = ch - 'a';
            // 用这个索引数值找到对应的字母
            System.out.print(letterMap.get(index));
        }


    }
}

全部评论

相关推荐

02-15 22:29
门头沟学院 Java
点赞 评论 收藏
分享
MingoTree:看不出你你的技术栈,想找什么工作,然后课设项目别写上去了,自我评价删了,前后端你想好你要干啥,这种简历投上去秒挂的
点赞 评论 收藏
分享
02-19 22:55
南京大学 后端
给🐭🐭个面试机会吧:先别急,你投了就知道了,华为和字节的hr跟有指标一样到处捞人,你投完就不理你了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务