Jianzhi는 21을 제공합니다. 홀수가 짝수 앞에 오도록 배열 순서를 조정합니다.

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;
    }
}

추천

출처blog.csdn.net/cys975900334/article/details/115014347