【leetcode】(每日一题 118 杨辉三角)

在这里插入图片描述
代码实现:

int** generate(int numRows, int* returnSize, int** returnColumnSizes){
    
    
    *returnSize = numRows;
    //returnSize是指向一个整数的指针,表示返回杨辉三角的行数 = 输入numRows
    *returnColumnSizes = (int*)malloc(numRows * sizeof(int));
    //returnColumnSizes是指向一个数组的指针,数组元素为对应行的元素个数
    int **res = (int**)malloc((*returnSize) * sizeof(int*));
    //res是一个指针,它指向的是由指针构成的数组,每个指针都指向对应的三角的一行数;res也是二维数组
    int i = 0;
    for(; i < *returnSize; i++){
    
    
        (*returnColumnSizes)[i] = i + 1;
        res[i] = (int*)malloc((*returnColumnSizes)[i] * sizeof(int));
        res[i][0] = 1;
        res[i][i] = 1; 
    }
    for(i = 2; i <= numRows - 1; i++){
    
    
        for(int j = 1; j < i; j++){
    
    
            res[i][j] = res[i - 1][j - 1] + res[i - 1][j];
        }
    }
    return res;

}

猜你喜欢

转载自blog.csdn.net/qq_45657288/article/details/106251030