Skip to content

Commit a47fcbb

Browse files
author
songlongfei1
committed
docs: 【0055右旋字符串】JavaScript部分实现
1 parent b07e850 commit a47fcbb

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

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

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,37 @@ func main(){
254254

255255

256256
### JavaScript:
257+
```javascript
258+
// JS中字符串内不可单独修改
259+
260+
// 右旋转
261+
function reverseLeftWords(s, k) {
262+
const reverse = (sList, start, end) => {
263+
for (let i = start, j = end; i < j; i++, j--) {
264+
[sList[i], sList[j]] = [sList[j], sList[i]];
265+
}
266+
}
267+
const sList = Array.from(s);
268+
reverse(sList, 0, sList.length - k - 1);
269+
reverse(sList, sList.length - k, sList.length - 1);
270+
reverse(sList, 0, sList.length - 1);
271+
return sList.join('');
272+
}
257273

274+
// 左旋转
275+
var reverseLeftWords = function(s, n) {
276+
const reverse = (sList, start, end) => {
277+
for (let i = start, j = end; i < j; i++, j--) {
278+
[sList[i], sList[j]] = [sList[j], sList[i]];
279+
}
280+
}
281+
const sList = s.split('');
282+
reverse(sList, 0, n - 1);
283+
reverse(sList, n, sList.length - 1);
284+
reverse(sList, 0, sList.length - 1);
285+
return sList.join('');
286+
};
287+
```
258288

259289
### TypeScript:
260290

0 commit comments

Comments
 (0)