jz21.调整数组顺序使奇数位于偶数前面

题目描述

题解

双指针

使用双指针的方法, i指针向右遍历整个数组, j 始终指向从左边数第一个偶数的位置, 一旦发现了奇数, 就将两个位置的数字互换, 然后j++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public int[] exchange(int[] nums) {
int i = 0;
int j = 0;
while (i < nums.length) {
if (nums[i] % 2 == 1) {
swap(nums, i, j);
j++;
}
i++;
}
return nums;

}

private void swap(int[] nums, int i, int j) {
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
-------------本文结束感谢您的阅读-------------
可以请我喝杯奶茶吗