weixin_73000861 2022-10-14 16:59 采纳率: 97.9%
浏览 31
已结题

想问一下第4行和第9行是拿来干嘛的?

int** generate(int numRows, int* returnSize, int** returnColumnSizes)
{
    int** ret = (int **)malloc(sizeof(int*) * numRows);//ret接收
    *returnSize = numRows;
    *returnColumnSizes = (int *)malloc(sizeof(int) * numRows);
    for (int i = 0; i < numRows; ++i) 
    {
        ret[i] = (int*)malloc(sizeof(int) * (i + 1));
        (*returnColumnSizes)[i] = i + 1;
        ret[i][0] = ret[i][i] = 1;
        for (int j = 1; j < i; ++j)
        {
            ret[i][j] = ret[i - 1][j] + ret[i - 1][j - 1];
        }
    }
    return ret;
}

这段代码是leecode的第118题,看不懂第4行和第9行是拿来干嘛的。尤其是哪个returnSize,看不懂T T。
刚开始做leecode的悲伤

  • 写回答

1条回答 默认 最新

  • 浪客 2022-10-14 17:03
    关注

    4行:函数返回的是ret,这个是ret指针数组元素的个数。
    ret是个二维数组,行数是numRows,每一行的长度不一样,长度为i+1,每一行的长度保存到数组returnColumnSizes里,形参returnColumnSizes用int **是为了把指针值带出函数。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 10月22日
  • 已采纳回答 10月14日
  • 创建了问题 10月14日