给你一个数组 nums ,数组中有 2n 个元素,按 [x1,x2,…,xn,y1,y2,…,yn] 的格式排列。
请你将数组按 [x1,y1,x2,y2,…,xn,yn] 格式重新排列,返回重排后的数组。
示例 1:
输入:nums = [2,5,1,3,4,7], n = 3
输出:[2,3,5,4,1,7]
解释:由于 x1=2, x2=5, x3=1, y1=3, y2=4, y3=7 ,所以答案为 [2,3,5,4,1,7]
解题思路
放到一个新的数组里输出
int* shuffle(int* nums, int numsSize, int n, int* returnSize){
int i;
int j = 0;//记得j要赋值,不然会报指针错误
int len = 2*n;
int *res = (int*)malloc(sizeof(int)*len);
*returnSize = len;
for(i = 0; i < n; i++){
res[j++] = nums[i];
res[j++] = nums[n + i];
}
return res;
}
执行用时 :16 ms, 在所有 C 提交中击败了86.65%的用户
内存消耗 :6.8 MB, 在所有 C 提交中击败了100.00%的用户
Leetcode题解:https://leetcode-cn.com/problems/shuffle-the-array/solution/cyu-yan-shi-xian-1470-zhong-xin-pai-lie-shu-zu-by-/