class Solution {
public:
vector<vector<int> > generate(int numRows) {
vector<vector<int>> result;
//当numRows=0时,返回空的三角;
if(numRows==0) return result;
vector<int> upper;
upper.push_back(1);
result.push_back(upper);
for(int i=1; i<numRows; i++){
//temp保存将要存入的一行vector<int>
vector<int> temp;
vector<int>::iterator it = upper.begin();
//压入第一个元素
temp.push_back(*it);
//value保存前一个元素的值
int value = *it;
it++;
//压入前一个value+当前iterator指向的元素
for( ; it!=upper.end(); it++){
temp.push_back(value+(*it));
value = *it;
}
//压入最后一个元素
temp.push_back(*upper.rbegin());
result.push_back(temp);
upper.swap(temp);
}
return result;
}
};
Pascal's Triangle
最新推荐文章于 2022-02-27 22:47:26 发布