LeetCode1两数之和C语言暴力版
程序员文章站
2022-07-14 17:28:44
...
LeetCode1两数之和C语言暴力版
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* twoSum(int* nums, int numsSize, int target,int* returnSize){
int* a=(int* )malloc(sizeof(int)*2);
for(int i=0;i<numsSize-1;i++){
for(int j=i+1;j<numsSize;j++){
if(nums[i]+nums[j] == target) {
a[0]=i; a[1]=j;
*returnSize= 2;
return a;
}
}
}
*returnSize= 0;
return NULL;
}
第一次使用LeetCode,有点不习惯按照他给定的函数参数来写。
这里需要注意的是:
1、returnsize不是让返回的数组,而是返回数组的长度。
2、之所以returnsize以指针形式作为形参是为了在函数结束后指针依然存在,可以读取returnsize的值,如果以int型函数结束则生命周期结束。
3、a数组需要以malloc分配空间同理,否则函数结束则生命周期结束。也可采用static int *a[2]={0}的形式。
下一篇: 文件已经删除,但是空间没有释放的异常