mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 03:34:02 +08:00
添加(0922.按奇偶排序数组II.md):增加typescript版本
This commit is contained in:
@ -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>
|
||||
|
Reference in New Issue
Block a user