元素奇偶移动专题
思路:
使用对撞型双指针,设置两个指针left和right,left从左往右移动,right从右往左移动,left遇到偶数则继续移动,遇到奇数则停下来,right遇到奇数则继续移动,遇到偶数则停下来,交换left和right处的值。
代码:
class Solution {
public int[] sortArrayByParity(int[] nums) {
int left=0;
for(int right=nums.length-1;left<=right; ){
if(nums[left]%2==1&&nums[right]%2==0){
int t=nums[left];
nums[left]=nums[right];
nums[right]=t;
}
if(nums[left]%2==0){
left++;
}
if(nums[right]%2==1){
right--;
}
}
return nums;
}
}