Jianzhi는 21을 제공합니다. 홀수가 짝수 앞에 오도록 배열 순서를 조정합니다.
제목 설명
문제 해결 아이디어
이중 포인터
nums[0...oddIndex]
홀수 nums[evenIndex...nums.length - 1]
저장 , 짝수 저장
class Solution {
public int[] exchange(int[] nums) {
if (nums == null || nums.length == 0) return nums;
//双指针,nums[0...oddIndex]存奇数,nums[evenIndex...nums.length - 1]存偶数
int oddIndex = 0, evenIndex = nums.length - 1;
while (oddIndex < evenIndex) {
//如果是偶数的话,那就交换
if ((nums[oddIndex] & 0x01) == 0) {
int temp = nums[oddIndex];
nums[oddIndex] = nums[evenIndex];
nums[evenIndex] = temp;
evenIndex--; //偶数指针移动
} else {
//如果是奇数的话,不用交换,直接移动指针
oddIndex++;
}
}
return nums;
}
}