题目
难度简单26输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
思路
设置双指针,分别位于头和尾。 头指针遇到奇数继续前进,遇到偶数停 尾指针遇到偶数继续前进,遇到奇数停 然后交换位置
代码
public int[] exchange(int[] nums
) {
int left
= 0;
int right
= nums
.length
-1;
while(left
<right
){
while(left
<right
&&nums
[left
]%2==1){
left
++;
}
while(left
<right
&&nums
[right
]%2==0){
right
--;
}
int tmp
= nums
[left
];
nums
[left
] = nums
[right
];
nums
[right
] = tmp
;
}
return nums
;
}