美文网首页
2018-09-09

2018-09-09

作者: yesufan | 来源:发表于2018-09-09 22:30 被阅读0次

前端笔试第一坑:nodejs输入输出-典型三种情况(二)

一、处理单行输入

var readline = require('readline');

rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

var K = 2; // 输入K行
var inputs = [];
rl.on('line', function(data) {
    // 获取输入
    inputs.push(data.trim());
    if (K == inputs.length) { //
        // 处理
        var result = deal(inputs);

        // 输出结果
        console.log(result);
        // 清0
        inputs.length = 0;

    }
});

/**
 * [deal description]
 * @param  {[type]} inputs [description]
 * @return {[type]}        [description]
 */
function deal(inputs) {
    var result = [];

    // dosomething
    var s1 = inputs[0].split("");
    var s2 = inputs[1].split("");
    var len = s1.length;
    for(var i = 0;i<len;i++){
        result.push(s1[i]);
        result.push(s2[len-i-1]);
    }  
    
    return result.join("");
}

二、输入的行数已经确定

var readline = require('readline');
rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
var K = 2; // 输入K行
var inputs = [];
rl.on('line', function(data) {
    // 获取输入
    inputs.push(data.trim());
    if (K == inputs.length) { //
        // 处理
        var result = deal(inputs);
        // 输出结果
        console.log(result);
        // 清0
        inputs.length = 0;
    }
});
/**
 * [deal description]
 * @param  {[type]} inputs [description]
 * @return {[type]}        [description]
 */
function deal(inputs) {
    var result = [];
    // dosomething
    var s1 = inputs[0].split("");
    var s2 = inputs[1].split("");
    var len = s1.length;
    for (var i = 0; i < len; i++) {
        result.push(s1[i]);
        result.push(s2[len - i - 1]);
    }
    return result.join("");
}

三、一组测试数据行数不确定(1+n模式)

啥意思呢?就是说一组测试数据的第一行是一个数字n,然后后面有n行,这1+n行就是一组测试数据。模板给上:

var readline = require('readline');

rl = readline.createInterface({

input: process.stdin,

output: process.stdout

});

var inputs = [];

var num = 0;

rl.on('line', function(data) {

if (num == 0) {

num = Number(data.trim());

} else {

inputs.push(data.trim());

if (num == inputs.length) {

// 处理

var result = deal(inputs);

// 输出结果

console.log(result);

// 清0

inputs.length = 0; //不可改动

num = 0; //不可改动

}

}

});

/**

\* [deal description]

\* @param  {[type]} inputs [description]

\* @return {[type]}        [description]

*/

function deal(inputs) {

var result = '';

// dosomething

for (var i = inputs.length - 1; i >= 0; i--) {

result += inputs[i]

}

return result;

}

相关文章

网友评论

      本文标题:2018-09-09

      本文链接:https://www.haomeiwen.com/subject/sntjgftx.html