思路
杨辉三角,简单题,就不写思路了,直接贴代码
代码
/**
* Return an array of arrays of size *returnSize.
* The sizes of the arrays are returned as *returnColumnSizes array.
* Note: Both returned array and *columnSizes array must be malloced, assume caller calls free().
*/
int** generate(int numRows, int* returnSize, int** returnColumnSizes){
*returnSize=numRows;
int **ret=(int **)malloc(sizeof(int*)*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;
}
for(int i=0;i<numRows;i++)
{
for(int j=0;j<=i;j++)
{
if(j==0||j==i)
{
ret[i][j]=1;
}
else
{
ret[i][j]=ret[i-1][j-1]+ret[i-1][j];
}
}
}
return ret;
}