| #字符串加密#

字符串加密

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

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        scanner.useDelimiter("\n");
        while (scanner.hasNext()){
            String key = scanner.next();
            String original = scanner.next();
		  //原始map,26个英文字母
            StringBuilder map = new StringBuilder("abcdefghijklmnopqrstuvwxyz");
		  //去重用
            HashSet<Character> hashSet = new HashSet<>();
            for (int i = 0,j=0; i < key.length(); i++) {
                char c = key.charAt(i);
                if (!hashSet.contains(c)){
                    hashSet.add(c);
				  //先删除原有顺序中的字母
                    map.deleteCharAt(map.indexOf(c+""));
				  //依次插入
                    map.insert(j++, c);
                }
            }
            for (int i = 0; i < original.length(); i++) {
                char c = original.charAt(i);
			  //map下标从0开始,小写英文从97开始,要减去97
                System.out.print(map.charAt(c-97));
            }
        }
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 13:05
点赞 评论 收藏
分享
头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
牛客刘北:如果暑期实习是27届的话,你要晚一年才会毕业,企业为什么会等你呢?要搞清时间逻辑呀!27届现在实习只能是在暑假实习,这是日常实习,不是暑期实习。所以多去投日常实习吧,暑期实习肯定不会要你的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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