/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* getRow(int rowIndex, int* returnSize){
int *a1 = (int **)malloc(sizeof(int * ) * (rowIndex + 1));
int *a2 = (int **)malloc(sizeof(int * ) * (rowIndex + 1));
int i, j, r=0;
int *src, *dst;
a1[0] = a2[0] = 1;
for(i=0; i<rowIndex+1; i++){
if(i&0x1) {
src = a1;
dst = a2;
}else{
src = a2;
dst = a1;
}
for(j=0; j<rowIndex+1; j++){
if(j>0 && j<i)
dst[j] = src[j] + src[j-1];
else
dst[j] = 1;
}
}
*returnSize = rowIndex+1;
free(src);
return dst;
}
leetcode-119. 杨辉三角 II-C语言
最新推荐文章于 2024-05-08 14:33:26 发布