更新 0055.右旋字符串.md JavaScript代码

This commit is contained in:
XZY
2024-06-02 16:18:34 +08:00
parent 55e3828135
commit c3753198fe

View File

@ -298,33 +298,50 @@ int main()
```javascript ```javascript
// JS中字符串内不可单独修改 // JS中字符串内不可单独修改
// 右旋转 const readline = require('readline')
function reverseLeftWords(s, k) {
const reverse = (sList, start, end) => { const rl = readline.createInterface({
for (let i = start, j = end; i < j; i++, j--) { input: process.stdin,
[sList[i], sList[j]] = [sList[j], sList[i]]; output: process.stdout
} })
}
const sList = Array.from(s); const inputs = []; // 存储输入
reverse(sList, 0, sList.length - k - 1);
reverse(sList, sList.length - k, sList.length - 1); rl.on('line', function(data) {
reverse(sList, 0, sList.length - 1); inputs.push(data);
return sList.join('');
}).on('close', function() {
const res = deal(inputs);
// 打印结果
console.log(res);
})
// 对传入的数据进行处理
function deal(inputs) {
let [k, s] = inputs;
const len = s.length - 1;
k = parseInt(k);
str = s.split('');
str = reverseStr(str, 0, len - k)
str = reverseStr(str, len - k + 1, len)
str = reverseStr(str, 0, len)
return str.join('');
} }
// 左旋 // 根据提供的范围进行翻
var reverseLeftWords = function(s, n) { function reverseStr(s, start, end) {
const reverse = (sList, start, end) => {
for (let i = start, j = end; i < j; i++, j--) { while (start < end) {
[sList[i], sList[j]] = [sList[j], sList[i]]; [s[start], s[end]] = [s[end], s[start]]
start++;
end--;
} }
}
const sList = s.split(''); return s;
reverse(sList, 0, n - 1); }
reverse(sList, n, sList.length - 1);
reverse(sList, 0, sList.length - 1);
return sList.join('');
};
``` ```
### TypeScript ### TypeScript