1、前言
题目描述2、思路
双指针,i、j 分别指向数组首位,然后不断收缩。
3、代码
class Solution {
public int[] sortArrayByParity(int[] nums) {
if(nums == null || nums.length == 0){
return nums;
}
int i = 0, j = nums.length - 1;
while(i < j){
while(i < j && nums[i] % 2 == 0){
i++;
}
while(i < j && nums[j] % 2 == 1){
j--;
}
swap(nums, i, j);
i++;
j--;
}
return nums;
}
private void swap(int[] nums, int i, int j){
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}
网友评论