解题思路:
(1)设置一个总的数组
(2)依次按照杨辉三角的性质求出每一行的值,注意边界为1
class Solution {
public:
vector<int> getRow(int rowIndex) {
int* a = new int[(rowIndex+1)*(rowIndex+2)/2];
int i = 0;
vector<int> v;
while(i<=rowIndex) {
for(int j=i*(i+1)/2;j<(i+1)*(i+2)/2;j++) {
if(j==i*(i+1)/2 || j==(i+1)*(i+2)/2-1) a[j]=1;
else {
int p = j-i*(i+1)/2+i*(i-1)/2;
a[j] = a[p]+a[p-1];
}
if(i==rowIndex) v.push_back(a[j]);
}
i++;
}
return v;
}
};