Skip to content

Commit c375319

Browse files
更新 0055.右旋字符串.md JavaScript代码
1 parent 55e3828 commit c375319

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
@@ -298,33 +298,50 @@ int main()
298298
```javascript
299299
// JS中字符串内不可单独修改
300300
301-
// 右旋转
302-
function reverseLeftWords(s, k) {
303-
const reverse = (sList, start, end) => {
304-
for (let i = start, j = end; i < j; i++, j--) {
305-
[sList[i], sList[j]] = [sList[j], sList[i]];
306-
}
307-
}
308-
const sList = Array.from(s);
309-
reverse(sList, 0, sList.length - k - 1);
310-
reverse(sList, sList.length - k, sList.length - 1);
311-
reverse(sList, 0, sList.length - 1);
312-
return sList.join('');
301+
const readline = require('readline')
302+
303+
const rl = readline.createInterface({
304+
input: process.stdin,
305+
output: process.stdout
306+
})
307+
308+
const inputs = []; // 存储输入
309+
310+
rl.on('line', function(data) {
311+
inputs.push(data);
312+
313+
}).on('close', function() {
314+
const res = deal(inputs);
315+
// 打印结果
316+
console.log(res);
317+
})
318+
319+
// 对传入的数据进行处理
320+
function deal(inputs) {
321+
let [k, s] = inputs;
322+
const len = s.length - 1;
323+
k = parseInt(k);
324+
str = s.split('');
325+
326+
str = reverseStr(str, 0, len - k)
327+
str = reverseStr(str, len - k + 1, len)
328+
str = reverseStr(str, 0, len)
329+
330+
return str.join('');
313331
}
314332
315-
// 左旋转
316-
var reverseLeftWords = function(s, n) {
317-
const reverse = (sList, start, end) => {
318-
for (let i = start, j = end; i < j; i++, j--) {
319-
[sList[i], sList[j]] = [sList[j], sList[i]];
333+
// 根据提供的范围进行翻转
334+
function reverseStr(s, start, end) {
335+
336+
while (start < end) {
337+
[s[start], s[end]] = [s[end], s[start]]
338+
339+
start++;
340+
end--;
320341
}
321-
}
322-
const sList = s.split('');
323-
reverse(sList, 0, n - 1);
324-
reverse(sList, n, sList.length - 1);
325-
reverse(sList, 0, sList.length - 1);
326-
return sList.join('');
327-
};
342+
343+
return s;
344+
}
328345
```
329346

330347
### TypeScript:

0 commit comments

Comments
 (0)