题解 | #字符串加解密#

字符串加解密

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;
}

全部评论

相关推荐

瑞雪兆丰年_:可以贴个超级大的校徽,以防HR眼拙
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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