添加(0922.按奇偶排序数组II.md):增加typescript版本

This commit is contained in:
Steve2020
2022-05-30 11:20:33 +08:00
parent f6456c3b24
commit 43d450d827

View File

@ -260,6 +260,75 @@ var sortArrayByParityII = function(nums) {
}; };
``` ```
### TypeScript
> 方法一:
```typescript
function sortArrayByParityII(nums: number[]): number[] {
const evenArr: number[] = [],
oddArr: number[] = [];
for (let num of nums) {
if (num % 2 === 0) {
evenArr.push(num);
} else {
oddArr.push(num);
}
}
const resArr: number[] = [];
for (let i = 0, length = nums.length / 2; i < length; i++) {
resArr.push(evenArr[i]);
resArr.push(oddArr[i]);
}
return resArr;
};
```
> 方法二:
```typescript
function sortArrayByParityII(nums: number[]): number[] {
const length: number = nums.length;
const resArr: number[] = [];
let evenIndex: number = 0,
oddIndex: number = 1;
for (let i = 0; i < length; i++) {
if (nums[i] % 2 === 0) {
resArr[evenIndex] = nums[i];
evenIndex += 2;
} else {
resArr[oddIndex] = nums[i];
oddIndex += 2;
}
}
return resArr;
};
```
> 方法三:
```typescript
function sortArrayByParityII(nums: number[]): number[] {
const length: number = nums.length;
let oddIndex: number = 1;
for (let evenIndex = 0; evenIndex < length; evenIndex += 2) {
if (nums[evenIndex] % 2 === 1) {
// 在偶数位遇到了奇数
while (oddIndex < length && nums[oddIndex] % 2 === 1) {
oddIndex += 2;
}
// 在奇数位遇到了偶数,交换
let temp = nums[evenIndex];
nums[evenIndex] = nums[oddIndex];
nums[oddIndex] = temp;
}
}
return nums;
};
```
----------------------- -----------------------
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width=500> </img></div> <div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width=500> </img></div>