对行号和序号还是不熟悉,需要多练习,这个题目里行号从1开始计算会更方便些,这个和数组中从0开始计算有冲突,所以多花了点时间,具体代码如下;
class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector<vector<int>> res;
if (numRows == 0) {
return res;
}
vector<int> first_row(1, 1);
res.emplace_back(first_row);
if (numRows == 1) {
return res;
}
for (int i = 2; i <= numRows; i++) {
vector<int> row_i(i, 1);
for (int j=1; j<i-1; j++) {
row_i[j] = res.back()[j] + res.back()[j-1];
}
res.emplace_back(row_i);
}
return res;
}
};