两数之和

*1、nums 与nums[]的区别:
*nt array[100]; 定义了一个数组,array是数组的名字,array在系统处理时,的确是用整型指针处理的,array中记录了数组在内容占用空间区域的首地址。
你使用的 int array[]; 的定义方式,只能用于在子函数中定义参数数组时使用,此时参数数组的大小由实际参数数组的大小确定。
int *array;也可以定义数组,但是有效使用时,必须首先为指针申请空间:
array=(int *)malloc(sizeof(int)*100);
开设空间之后,指针array与数组 int array[100]; 在使用时具有相同的功效。
但是要注意,使用数组定义,array就相当于一个记录数组首地址的常数,是不能被改变的。
而定义为指针的array,在释放空间free(array)之后,可以重新申请新的空间,即可以重新被赋值使用,如:array==(int *)malloc(sizeof(int)500);
所以,简单的说,定义的数组名就相当于一个指向数组首地址的地址常数,
定义的指针,相当于一个指向数组首地址的变量。

2、returnSize如果不加值的话,返回为空。

/**

  • Note: The returned array must be malloced, assume caller calls free().
    /
    int
    twoSum(int* nums, int numsSize, int target, int* returnSize){
    int i,j,k;
    int ret;
    ret=(int
    )malloc(sizeof(int)*2);
    for(i = 0;i< numsSize;i++)
    {
    for(j = i+1;j< numsSize;j++)
    {
    if(nums[i]+nums[j] == target)
    {
    *returnSize=2;
    ret[0] = i;
    ret[1] = j;
    }
    }
    }
    return ret;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值