Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 513ec54

Browse files
添加(0189.旋转数组.md):增加typescript版本
1 parent 0e3a1bc commit 513ec54

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

‎problems/0189.旋转数组.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
# 189. 旋转数组
99

10+
[力扣题目链接](https://leetcode.cn/problems/rotate-array/)
11+
1012
给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。
1113

1214
进阶:
@@ -160,6 +162,27 @@ var rotate = function (nums, k) {
160162
};
161163
```
162164

165+
## TypeScript
166+
167+
```typescript
168+
function rotate(nums: number[], k: number): void {
169+
const length: number = nums.length;
170+
k %= length;
171+
reverseByRange(nums, 0, length - 1);
172+
reverseByRange(nums, 0, k - 1);
173+
reverseByRange(nums, k, length - 1);
174+
};
175+
function reverseByRange(nums: number[], left: number, right: number): void {
176+
while (left < right) {
177+
const temp = nums[left];
178+
nums[left] = nums[right];
179+
nums[right] = temp;
180+
left++;
181+
right--;
182+
}
183+
}
184+
```
185+
163186

164187

165188
-----------------------

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /