题解 | #JZ58 左旋转字符串#

左旋转字符串

http://www.nowcoder.com/practice/12d959b108cb42b1ab72cef4d36af5ec

```function LeftRotateString(str, n)
{
    // write code here
    //当n<=字符串长度时,左移n位,其实就是截取前n位,再拼接到字符串末尾
    //当n大于字符串长度时,求n%length(余数),相当于只左移了余数,处理同上
    if(str===null){return ""} //注意如果str是null的情况,是无法读取length的
    if(str.length===1){return str}
    let arr=str.split('')
    if(n<=str.length){
        let temp=arr.splice(0,n)
        arr=arr.concat(temp) //注意concat不会修改原数组,splice会
    }
    else{
        n = n % str.length
        let temp=arr.splice(0,n)
        arr=arr.concat(temp)
    }
    return arr.join('')
}
module.exports = {
    LeftRotateString : LeftRotateString
};
全部评论

相关推荐

醒工硬件:1学校那里把xxxxx学院去了,加了学院看着就不像本校 2简历实习和项目稍微精简一下。字太多,面试官看着累 3第一个实习格式和第二个实习不一样。建议换行 4项目描述太详细了,你快把原理图贴上来了。比如可以这样描述:使用yyyy芯片,使用xx拓扑,使用pwm控制频率与占空比,进行了了mos/电感/变压器选型,实现了xx功能 建议把技术栈和你做的较为有亮点的工作归纳出来 5熟悉正反激这个是真的吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务