1、杨辉三角
int** generate(int numRows, int* returnSize, int** returnColumnSizes){
int i,j;
int **ret=(int **)malloc(numRows*(sizeof(int *)));
*returnSize=numRows;
*returnColumnSizes=(int *)malloc(numRows*sizeof(int ));
for(i=0;i<numRows;++i){
ret[i]=(int *)malloc((i+1)*sizeof(int ));
(*returnColumnSizes)[i]=i+1;
for(j=0;j<i+1;++j){
if(j==0||j==i){
ret[i][j]=1;
}else{
ret[i][j]=ret[i-1][j]+ret[i-1][j-1];
}
}
}
return ret;
}
2、杨辉三角Ⅱ
int* getRow(int rowIndex, int* returnSize){
int i,j;
*returnSize=rowIndex+1;
int *ret[rowIndex+1];
for(i=0;i<=rowIndex;++i){
ret[i]=malloc((i+1)*sizeof(int ));
for(j=0;j<i+1;++j){
if(i==j||j==0){
ret[i][j]=1;
}else{
ret[i][j]=ret[i-1][j]+ret[i-1][j-1];
}
}
}
return ret[rowIndex];
}