看一下前几个元素的位置变化,可以发现前n个元素的位置变化的规律是:第i个元素在经过重新排列后,其位置就变成了2i,也就是占据所有的偶数位;而后n个元素便占据所有的奇数位。
题解如下:
class Solution {
public:
vector<int> shuffle(vector<int>& nums, int n) {
vector<int>tables(2*n,1001);
int i;
for(i=0;i<n;i++){
tables[i*2]=nums[i];
}
int j=1;
for(i=n;i<2*n;i++){
tables[j]=nums[i];
j+=2;
}
return tables;
}
};