Skip to content

Commit a7344a9

Browse files
Merge pull request youngyangyang04#2570 from Monster-XU-jesus/master
更新 0055.右旋字符串.md JavaScript代码
2 parents e66a446 + c375319 commit a7344a9

File tree

1 file changed

+41
-24
lines changed

1 file changed

+41
-24
lines changed

problems/kamacoder/0055.右旋字符串.md

Lines changed: 41 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -300,33 +300,50 @@ int main()
300300
```javascript
301301
// JS中字符串内不可单独修改
302302
303-
// 右旋转
304-
function reverseLeftWords(s, k) {
305-
const reverse = (sList, start, end) => {
306-
for (let i = start, j = end; i < j; i++, j--) {
307-
[sList[i], sList[j]] = [sList[j], sList[i]];
308-
}
309-
}
310-
const sList = Array.from(s);
311-
reverse(sList, 0, sList.length - k - 1);
312-
reverse(sList, sList.length - k, sList.length - 1);
313-
reverse(sList, 0, sList.length - 1);
314-
return sList.join('');
303+
const readline = require('readline')
304+
305+
const rl = readline.createInterface({
306+
input: process.stdin,
307+
output: process.stdout
308+
})
309+
310+
const inputs = []; // 存储输入
311+
312+
rl.on('line', function(data) {
313+
inputs.push(data);
314+
315+
}).on('close', function() {
316+
const res = deal(inputs);
317+
// 打印结果
318+
console.log(res);
319+
})
320+
321+
// 对传入的数据进行处理
322+
function deal(inputs) {
323+
let [k, s] = inputs;
324+
const len = s.length - 1;
325+
k = parseInt(k);
326+
str = s.split('');
327+
328+
str = reverseStr(str, 0, len - k)
329+
str = reverseStr(str, len - k + 1, len)
330+
str = reverseStr(str, 0, len)
331+
332+
return str.join('');
315333
}
316334
317-
// 左旋转
318-
var reverseLeftWords = function(s, n) {
319-
const reverse = (sList, start, end) => {
320-
for (let i = start, j = end; i < j; i++, j--) {
321-
[sList[i], sList[j]] = [sList[j], sList[i]];
335+
// 根据提供的范围进行翻转
336+
function reverseStr(s, start, end) {
337+
338+
while (start < end) {
339+
[s[start], s[end]] = [s[end], s[start]]
340+
341+
start++;
342+
end--;
322343
}
323-
}
324-
const sList = s.split('');
325-
reverse(sList, 0, n - 1);
326-
reverse(sList, n, sList.length - 1);
327-
reverse(sList, 0, sList.length - 1);
328-
return sList.join('');
329-
};
344+
345+
return s;
346+
}
330347
```
331348

332349
### TypeScript:

0 commit comments

Comments
 (0)