• 【JavaScript】7-31 字符串循环左移 (20分)


    题目:

    输入一个字符串和一个非负整数N,要求将字符串循环左移N次。

    输入格式:

    输入在第1行中给出一个不超过100个字符长度的、以回车结束的非空字符串;第2行给出非负整数N。 

    输出格式:

    在一行中输出循环左移N次后的字符串。

    输入样例:

    Hello World!

    2

    输出样例:

    llo World!He

    JavaScript代码:

    var readline = require('readline');
    
    //创建一个readline接口实例
    var readlineTest = readline.createInterface({    
        input: process.stdin,
        output: process.stdout    
    });
    
    var lineCounts=2;    //输入的行数
    var tempArray=[];    //创建数组来存储每一行的数据
    var tempArrayIndex=0;//初始化数组的索引
    
    readlineTest.on('line', function(line) {
        //将每一行的内容添加至数组tempArray
        tempArray[tempArrayIndex]=line;
        tempArrayIndex++;
        
        var line1 = tempArray[0]
        var line2 = tempArray[1]
        var strArr = line1.split('')  //字符串数组
        var k = parseInt(line2)
    
        //当已输入的行数达到最大输入的行数时,结束readline.Interface实例
        if (tempArray.length == lineCounts) {
            var ret = shiftleft(strArr, k)        
            console.log(ret)
            readlineTest.close();
        }
    
    })
    
    function shiftleft(strArr, k) {
        var n = strArr.length
    
        for (let i = 0; i < k; i++) {  //外循环,控制内循环次数-左移次数
            var temp = strArr[0]
            
            for (let j = 0; j < n - 1; j++) {
                strArr[j] = strArr[j + 1]
            }
    
            strArr[n - 1] = temp
        }
    
        return strArr.join('')
    }
  • 相关阅读:
    27 mysql主从出现错误
    Spring各个jar包作用
    SpringBoot 的启动banner生成网址
    Joda-Time 简介
    IDEA配置GIT
    iView 发布后台管理系统 iview-admin
    Springboot的默认定时任务——Scheduled注解
    如何使用java validation api进行参数校验----Hibernate-Validation
    Vue的安装及使用快速入门
    springboot整合shiro应用
  • 原文地址:https://www.cnblogs.com/moonskies/p/14339286.html
Copyright © 2020-2023  润新知