@@ -298,33 +298,50 @@ int main()
298
298
```javascript
299
299
// JS中字符串内不可单独修改
300
300
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('');
313
331
}
314
332
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--;
320
341
}
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
+ }
328
345
```
329
346
330
347
### TypeScript:
0 commit comments