本题为百度内推面试题
给一个数组,让数组的奇数位(1,3,5,7…)上放奇数,让数组的偶数位(0,2,4,6,…)上放偶数。
我的思想:
给两个指针,i=0,j=1。用这两个指针来监控数字的奇偶。如果arr[i]是偶数,那么这个位置不变,跳向下一个偶数位i+=2。如果arr[j]是奇数,那么这个位置不变,跳向下一个奇数位j+=2。如果(i < len&&j < len) 说明偶数位为奇数,奇数位为偶数,那么就将这两个位置的元素交换。
class Solution {
public:
void oddInOddEvenInEven(vector<int>& arr, int len){
int i = 0;
int j = 1;
while (i < len