Skip to content

Commit 03f906d

Browse files
committed
feat: add solutions to lcof problem: No.21
面试题21. 调整数组顺序使奇数位于偶数前面
1 parent d1173be commit 03f906d

File tree

3 files changed

+76
-0
lines changed

3 files changed

+76
-0
lines changed

lcof/面试题21. 调整数组顺序使奇数位于偶数前面/README.md

+43
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,49 @@ public:
114114
};
115115
```
116116
117+
### **TypeScript**
118+
119+
```ts
120+
function exchange(nums: number[]): number[] {
121+
let l = 0;
122+
let r = nums.length - 1;
123+
while (l < r) {
124+
if (nums[l] % 2 === 0) {
125+
[nums[l], nums[r]] = [nums[r], nums[l]];
126+
r--;
127+
} else {
128+
l++;
129+
}
130+
}
131+
return nums;
132+
}
133+
```
134+
135+
### **Rust**
136+
137+
```rust
138+
impl Solution {
139+
pub fn exchange(mut nums: Vec<i32>) -> Vec<i32> {
140+
if nums.len() == 0 {
141+
return nums;
142+
}
143+
let mut l = 0;
144+
let mut r = nums.len() - 1;
145+
while l < r {
146+
let num = nums[l];
147+
if num % 2 == 0 {
148+
nums[l] = nums[r];
149+
nums[r] = num;
150+
r -= 1;
151+
} else {
152+
l += 1;
153+
}
154+
}
155+
nums
156+
}
157+
}
158+
```
159+
117160
### **...**
118161

119162
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
impl Solution {
2+
pub fn exchange(mut nums: Vec<i32>) -> Vec<i32> {
3+
if nums.len() == 0 {
4+
return nums;
5+
}
6+
let mut l = 0;
7+
let mut r = nums.len() - 1;
8+
while l < r {
9+
let num = nums[l];
10+
if num % 2 == 0 {
11+
nums[l] = nums[r];
12+
nums[r] = num;
13+
r -= 1;
14+
} else {
15+
l += 1;
16+
}
17+
}
18+
nums
19+
}
20+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
function exchange(nums: number[]): number[] {
2+
let l = 0;
3+
let r = nums.length - 1;
4+
while (l < r) {
5+
if (nums[l] % 2 === 0) {
6+
[nums[l], nums[r]] = [nums[r], nums[l]];
7+
r--;
8+
} else {
9+
l++;
10+
}
11+
}
12+
return nums;
13+
}

0 commit comments

Comments
 (0)