class Solution {
int[] numss;
public int[] exchange(int[] nums) {
numss = nums;
solution(0,nums.length - 1);
return numss;
}
void solution(int l,int r){
if(l >= r) return;
int i = l - 1 , j = r + 1;
while(i < j){
while(i < r && (numss[++i] & 1) != 0);
while(j > 0 && (numss[--j] & 1) == 0);
if(i < j) swap(i,j);
}
}
void swap(int i,int j){
numss[i] ^= numss[j];
numss[j] ^= numss[i];
numss[i] ^= numss[j];
}
}
调整数组顺序使奇数位于偶数前面
最新推荐文章于 2024-07-25 18:40:03 发布