本人在leetcode上碰到了一个问题,题 目如下:
代码如下:
int* getLeastNumbers(int* arr, int arrSize, int k, int* returnSize){
*returnSize = k;
if (k == 0 || k > arrSize) {
return NULL;
}
int *ans = (int *)malloc(sizeof(int) * k);
SqList L;
L.len = arrSize;
L.d = (int *)malloc(sizeof(int) * (arrSize + 1)); // 把0留出来
int i;
for (i = 0; i < arrSize; i++) {
L.d[i + 1] = arr[i];
}
HeapSort(&L);
for (i = 0; i < k; i++) {
ans[i] = L.d[i + 1];
}
return ans;
}
请问 参数表里 int型指针returnSize 指向的是什么?
我自己的理解是:既然有K当参数指明了需要前K个数,就不需要*returnSize = k 这条语句了。