请问这个写法有什么问题吗?为什么没有结果?感觉我好像不太适应leetcode的写法?
int* shuffle(int* nums, int numsSize, int n, int* returnSize){
*returnSize = numsSize;
int *arr = (int*) malloc(sizeof(int)*numsSize);
int i = 0, k = 0;
while(i < numsSize) {
if(i%2 == 0) arr[i] = nums[k];
else{
arr[i] = nums[k+n];
k++;
}
i++;
}
return arr;
你这么写肯定不行啊,arr是函数内临时变量,你return后,这个arr变量被系统回收了啊。
而且int arr[n*2]应该也不可以,上面的注释都提示你要用malloc给数组分配内存才行了