题解 | #字符串加密#javaScript解法
字符串加密
http://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3
前言
这个题,最大的问题在于题目难懂,我读了好几遍,参考了别人的解法才看懂。
解题思路
- 创建新的字母表。
- 新的字母表,就是传入的 单词 + 'abc...',组成的字符串
- 新字母表去重之后,替换了原来的26个小写字母,成为新的字母表
- 创建一个Map 数据类型,将新字母表和原来的字母表一一对应
- 输入的字符串,每个字母都在 Map数据表中找到自己的新字母
- 将所有的新字母组成字符串,返回
function password(word,strs){
// 字母表
let table = 'abcdefghijklmnopqrstuvwxyz'
// 下面这个行的字母表
const tableArr = [...new Set(word+table)]
const map = new Map()
for(let i = 0;i<table.length;i++){
map.set(table[i],tableArr[i])
}
let res = ''
for(let j = 0;j<strs.length;j++){
res+=map.get(strs[j])
}
return res
}
const word = readline();
const strs = readline();
console.log(password(word,strs))