用JavaScript转换字符串

时间:2019-03-02 23:41:57

标签: javascript

我对编程很陌生,在寻求帮助时有点害羞...。老实说,我被别人能够快速找出问题的方式吓倒了,所以对于那些在类别中,我希望您能帮我解决一个家庭作业问题。我不知道从哪里开始或编写伪代码,但是如果您可以指导我或给我详细说明原因和方式的回复,我将欠您很多债。这是问题所在:

我们在字符串上定义以下操作:

左移:字符串的单个循环旋转,其中第一个字符变为最后一个字符 字符和所有其他字符向左移动一个索引。例如,bcdea变为 左移后的cdeab。

右移:与上述相同,但相反,最后一个字符变为第一个字符。

以下参数: s:要移动的字符串 左移:整数 右移:整数

约束:

  

1 <= s <= 10 ^ 5
  0 <=左移,右移<= 10 ^ 9

function getShiftedString(s, leftShifts, rightShifts) {
}

2 个答案:

答案 0 :(得分:1)

尝试用伪代码将其编写出来,这将帮助您计划功能。

考虑需要此功能执行的操作,您需要执行以下操作: 接受一个字符串 将其向右移动x次, 将其向左y次移动

所以也许您的伪代码看起来像这样

def timer(func: T) -> T:

这只是将其转换为代码的简单问题。

请记住,这只是一种解决方案,还有更好的解决方案。绝对会按照尼尔·朗恩所说的做,并查找字符串的移位。

答案 1 :(得分:1)

function getShiftedString(s, leftShifts, rightShifts) {
    s = leftShifting(s, leftShifts);
    return rightShifting(s,  rightShifts);
}

function leftShifting(s, leftShifts) {
    return s.substring(leftshifts) + s.substring(0, leftShifts);
}

function rightShifting(s,  rightShifts) {
    let l = s.length - rightShifts;
    return leftShifting(s, l);
}

尝试