题目
给定一段“密文”字符串 s,其中字符都是经过“密码本”映射的,现需要将“密文”解密并输出. 映射的规则 (a~i) 分别用 (1~ 9) 表示; (j~z) 分别用 (10*~26*) 表示
约束: 映射始终唯一
输入描述
“密文”字符串
输出描述
明文字符串
备注: 翻译后的文本长度在100以内
示例1:
输入
20*19*20*
输出
tst
思路
code
var fn = function (line) {
let len = line.length;
let path = [];
let index = 0;
while (index < len) {
if (index + 2 > len) {
path.push(parseInt( line.charAt(index)));
index++
}
else if (line.charAt(index + 2) !== "*") {
path.push(parseInt(line.charAt(index)));
index++
} else {
path.push(parseInt(line.slice(index, index + 2)));
index += 3
}
}
console.log( path.map(e=>String.fromCharCode( e+96)).join(""));
}
fn("1231320*19*20*1156");
fn("20*19*20*");