题解 | #整数与IP地址间的转换#

整数与IP地址间的转换

https://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea

这题相对来说比较简单了 分别构建一个加密和解密function即可 完整代码如下:
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
let lines = []
void async function () {
    // Write your code here
    while(line = await readline()){
        lines.push(line);
        if (lines.length == 2){
            console.log(encryption(lines[0]));
            console.log(decryption(lines[1]));
        }
    }
}()

function encryption(str) {
    let newStr = str.split('.').map(x => parseInt(x).toString(2).padStart(8, '0')).join('');
    return parseInt(newStr, 2);
}
function decryption(str) {
    let arr = parseInt(str).toString(2).padStart(32, '0').match(/.{1,8}/g).map(x => parseInt(x, 2)); // 这里利用match()方法实现对字符串分段的小技巧
    return arr.join('.')
}


全部评论

相关推荐

10-09 17:17
已编辑
门头沟学院 Java
活泼的代码渣渣在泡池...:同学你好,我也是学院本,后天要面这个亚信科技,是实习,请问问题都啥样呀,我项目就做了网上的,这是第一次面试
投递多益网络等公司10个岗位
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

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