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 43d450d

Browse files
添加(0922.按奇偶排序数组II.md):增加typescript版本
1 parent f6456c3 commit 43d450d

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed

‎problems/0922.按奇偶排序数组II.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,75 @@ var sortArrayByParityII = function(nums) {
260260
};
261261
```
262262

263+
### TypeScript
264+
265+
> 方法一:
266+
267+
```typescript
268+
function sortArrayByParityII(nums: number[]): number[] {
269+
const evenArr: number[] = [],
270+
oddArr: number[] = [];
271+
for (let num of nums) {
272+
if (num % 2 === 0) {
273+
evenArr.push(num);
274+
} else {
275+
oddArr.push(num);
276+
}
277+
}
278+
const resArr: number[] = [];
279+
for (let i = 0, length = nums.length / 2; i < length; i++) {
280+
resArr.push(evenArr[i]);
281+
resArr.push(oddArr[i]);
282+
}
283+
return resArr;
284+
};
285+
```
286+
287+
> 方法二:
288+
289+
```typescript
290+
function sortArrayByParityII(nums: number[]): number[] {
291+
const length: number = nums.length;
292+
const resArr: number[] = [];
293+
let evenIndex: number = 0,
294+
oddIndex: number = 1;
295+
for (let i = 0; i < length; i++) {
296+
if (nums[i] % 2 === 0) {
297+
resArr[evenIndex] = nums[i];
298+
evenIndex += 2;
299+
} else {
300+
resArr[oddIndex] = nums[i];
301+
oddIndex += 2;
302+
}
303+
}
304+
return resArr;
305+
};
306+
```
307+
308+
> 方法三:
309+
310+
```typescript
311+
function sortArrayByParityII(nums: number[]): number[] {
312+
const length: number = nums.length;
313+
let oddIndex: number = 1;
314+
for (let evenIndex = 0; evenIndex < length; evenIndex += 2) {
315+
if (nums[evenIndex] % 2 === 1) {
316+
// 在偶数位遇到了奇数
317+
while (oddIndex < length && nums[oddIndex] % 2 === 1) {
318+
oddIndex += 2;
319+
}
320+
// 在奇数位遇到了偶数,交换
321+
let temp = nums[evenIndex];
322+
nums[evenIndex] = nums[oddIndex];
323+
nums[oddIndex] = temp;
324+
}
325+
}
326+
return nums;
327+
};
328+
```
329+
330+
331+
263332

264333
-----------------------
265334
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width=500> </img></div>

0 commit comments

Comments
(0)

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