快排,前面找偶数,后面找奇数,互换。
class Solution {
public int[] exchange(int[] nums) {
int l=0,r=nums.length-1;
while(l<r){
while(l<r&&nums[l]%2!=0){
l++;
}
while(l<r&&nums[r]%2==0){
r--;
}
if(l<r){
nums[l]=nums[l]^nums[r];
nums[r]=nums[l]^nums[r];
nums[l]=nums[l]^nums[r];
}
}
return nums;
}
}
0offer菜鸡,今天早睡,狗命要紧!
本文介绍了一种快速排序的变种算法,通过将数组中的奇数和偶数分别放置于数组的前后两端,实现了数据的快速分离。该算法首先从数组的左端开始寻找偶数,从右端开始寻找奇数,找到后进行交换,直至左右指针相遇。
186

被折叠的 条评论
为什么被折叠?



