题解 | #字符串加解密#
字符串加解密
https://www.nowcoder.com/practice/2aa32b378a024755a3f251e75cbf233a
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void (async function () {
// Write your code here
let lines = [];
while ((line = await readline())) {
lines.push(line);
if (lines.length == 2) {
console.log(jiami(lines[0]));
console.log(jiemi(lines[1]));
}
}
})();
function jiami(s) {
let res = "";
for (let i = 0; i < s.length; i++) {
let cur = s[i];
let code = s.charCodeAt(i);
if (code >= 48 && code <= 57) {
res += (Number(cur) + 1) % 10;
} else if (code >= 65 && code <= 90) {
// 大写字母
if (cur == "Z") {
cur = "A";
} else cur = String.fromCharCode(code + 1);
res += cur.toLowerCase();
} else {
// 小写字母
if (cur == "z") {
cur = "a";
} else cur = String.fromCharCode(code + 1);
res += cur.toUpperCase();
}
}
// console.log(res);
return res;
}
// console.log(jiami('123456'));
function jiemi(s) {
let res = "";
for (let i = 0; i < s.length; i++) {
let cur = s[i];
let code = s.charCodeAt(i);
if (code >= 48 && code <= 57) {
res += (Number(cur) - 1 + 10) % 10;
} else if (code >= 65 && code <= 90) {
// 大写字母
if (cur == "A") {
cur = "Z";
} else cur = String.fromCharCode(code - 1);
res += cur.toLowerCase();
} else {
// 小写字母
if (cur == "a") {
cur = "z";
} else cur = String.fromCharCode(code - 1);
res += cur.toUpperCase();
}
}
return res;
}
查看30道真题和解析