1

处理单行输入(JavaScript(Node)):

var readline = require('readline')
const r1 = readline.createInterface({
    input: process.stdin,
    output: process.stdout
})

r1.on('line',function(line){
    var res = line.split('').reverse().join('')
    console.log(res)
})

处理多行输入(已知输入行数)(JavaScript(Node)):

固定行.png
https://www.nowcoder.com/practice/7f436c901a0d450ebdec1168e3e57cc2?tpId=40&tqId=21533&tPage=10&rp=5&ru=%2Fta%2Fkaoyan&qru=%2Fta%2Fkaoyan%2Fquestion-ranking

var readline = require('readline')
const r1 = readline.createInterface({
    input: process.stdin,
    output: process.stdout
})
var Num = 2  // 每次需要读取两行再操作
var inputs = []
r1.on('line',function(input){
    // 每读取一行,就push到inputs中,当inputs的长度为2时,执行操作
    inputs.push(input.trim())
    if(inputs.length === Num){
        var res = []
        var s1 = inputs[0]
        var s2 = inputs[1]
        var len = s1.length
        for(let i=0;i<len;i++){
            res.push(s1[i])
            res.push(s2[len-1-i])
        }
        res = res.join('')
        console.log(res)  // 用console.log()代替return
        // 把inputs置空,接着读取下一行
        inputs = []
    }
})

处理多行输入(行数不确定)

这种类型题目大多是第一个输入为数据的组数,然后会输入这几组数据,即为1+n模式。所以每组数据的第一个一定是接下来要获取输入的行数,后面这部分相当于已知行数,只需要在上面的基础上添加获取行数逻辑即可。
多.png

var readline = require("readline");
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});
var num = 0;
var inputs = [];
rl.on("line", function(line) {
  if (num === 0) {
    num = parseInt(line.trim()); // num 取第一行的数
  } else {
    inputs.push(line.trim());
    if (num === inputs.length) {
      // 当取够一组数,再进行操作
      var res;
      inputs.sort(function(a, b) {
        return a - b;
      });
      if (num % 2) {
        res = inputs[(num - 1) / 2];
      } else {
        res = Math.floor(
          (parseInt(inputs[num / 2]) + parseInt(inputs[num / 2 - 1])) / 2
        );
      }
      console.log(res); // 用console.log代替return
      // 将num置为0,这样下一次读取的第一行不会再inputs中
      inputs = [];
      num = 0;
    }
  }
});

MandyShen
166 声望21 粉丝