118. Pascal's Triangle
Given numRows, generate the first numRows of Pascal's triangle.
For example, given numRows = 5
,
Return
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]
在每一行后面+1, 再更新该行.
另外学会向vector
容器中放vector
元素.
人家代码,自己理解:
vector<vector<int>> generate(int numRows) {
vector<vector<int>> result;
vector<int> row;
// i = 0, 该行有1元素, j = -1, 但合并条件是j > 0
// i = 1, 该行有2元素, j = 0, 但合并条件是j > 0
// i = 2, 该行有3元素, j 指向倒数第二个元素
// i = 3, 该行有4元素, j 指向倒数第二个元素
for (int i = 0; i < numRows; i++) {
row.push_back(1); // 在尾部先+1
for (int j = i - 1; j > 0; j--)
//和j的前一个元素合并至j位置
row[j] = row[j - 1] + row[j];
result.push_back(row);
}
return result;
}