mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 00:43:04 +08:00
Merge pull request #1037 from xiaofei-2020/str5
添加(剑指Offer58-II.左旋转字符串.md):增加TypeScript和JavaScript版本
This commit is contained in:
@ -209,6 +209,61 @@ var reverseLeftWords = function(s, n) {
|
||||
};
|
||||
```
|
||||
|
||||
版本二(在原字符串上操作):
|
||||
|
||||
```js
|
||||
/**
|
||||
* @param {string} s
|
||||
* @param {number} n
|
||||
* @return {string}
|
||||
*/
|
||||
var reverseLeftWords = function (s, n) {
|
||||
/** Utils */
|
||||
function reverseWords(strArr, start, end) {
|
||||
let temp;
|
||||
while (start < end) {
|
||||
temp = strArr[start];
|
||||
strArr[start] = strArr[end];
|
||||
strArr[end] = temp;
|
||||
start++;
|
||||
end--;
|
||||
}
|
||||
}
|
||||
/** Main code */
|
||||
let strArr = s.split('');
|
||||
let length = strArr.length;
|
||||
reverseWords(strArr, 0, length - 1);
|
||||
reverseWords(strArr, 0, length - n - 1);
|
||||
reverseWords(strArr, length - n, length - 1);
|
||||
return strArr.join('');
|
||||
};
|
||||
```
|
||||
|
||||
TypeScript:
|
||||
|
||||
```typescript
|
||||
function reverseLeftWords(s: string, n: number): string {
|
||||
/** Utils */
|
||||
function reverseWords(strArr: string[], start: number, end: number): void {
|
||||
let temp: string;
|
||||
while (start < end) {
|
||||
temp = strArr[start];
|
||||
strArr[start] = strArr[end];
|
||||
strArr[end] = temp;
|
||||
start++;
|
||||
end--;
|
||||
}
|
||||
}
|
||||
/** Main code */
|
||||
let strArr: string[] = s.split('');
|
||||
let length: number = strArr.length;
|
||||
reverseWords(strArr, 0, length - 1);
|
||||
reverseWords(strArr, 0, length - n - 1);
|
||||
reverseWords(strArr, length - n, length - 1);
|
||||
return strArr.join('');
|
||||
};
|
||||
```
|
||||
|
||||
Swift:
|
||||
|
||||
```swift
|
||||
|
Reference in New Issue
Block a user