题目:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
题解:
使用头尾双指针,头指针找出偶数,尾指针找出奇数,然后交换即可。
代码实现
public class Solution
{
public int[] Exchange(int[] nums)
{
int i = 0,j = nums.Length-1;
while(i < j)
{
//找到偶数
if(nums[i] % 2 == 1)
{
i++;
continue;
}
//找到奇数
if(nums[j] % 2 == 0)
{
j--;
continue;
}
//交换即可
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
return nums;
}
}