用数学方法,在插入新的一行数据时,在最前和最后插入两个1,其他位置插入上一行的从前到后的两数之和。
class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector<vector<int>>res;
if(numRows==0){
return res;
}
if(numRows==1){
return {{1}};
}
res.push_back({1});
res.push_back({1,1});
for(int i=1;i<numRows-1;i++){
vector<int>temp;
temp.push_back(1);
for(int j=0;j<res[i].size()-1;j++){
temp.push_back(res[i][j]+res[i][j+1]);
}
temp.push_back(1);
res.push_back(temp);
}
return res;
}
};