先上题目
这里以在函数里做为前提:
思路:题意是数组里找一个数与另一个数,最容易的做法即是两层遍历所有数,找出其中匹配的两个。
int* twoSum(int* nums, int numsSize, int target) { int i,j; for(i=0;i<numsSize-1;i++){ for(j=i+1;j<numsSize;j++){ if(nums[j]==target-nums[i]){ nums[0]=i; nums[1]=j; return nums; } } } return nums; }
这个做法关键点在于对C语言中的指针的理解,函数已经传入指向目标数组的首地址的指针nums,直接对其进行操作即可。返回值可做优化,此处只为返回结果。
其他做法后续会更新