https://leetcode.com/problems/pascals-triangle/
解题思路:第二行起,上一行的两个数之和作为下一行的一个数;
class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector<int> up(2,1);
vector<int> down(1,1);
vector<vector<int>> floor;
if(numRows == 1){
floor.push_back(down);
return floor;
}
if(numRows == 0){
return floor;
}
floor.push_back(down);
floor.push_back(up);
int sum;
for(int i = 2;i < numRows;i++){
for(int j = 1;j < up.size();j++){
sum = up[j] + up[j-1];
down.push_back(sum);
}
down.push_back(1);
floor.push_back(down);
up.assign(down.begin(),down.end());
down.clear();//注意,要清空数组;
down.push_back(1);//返回的原始状态
}
return floor;
}
};