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]
]
class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector<vector<int>> triangle;
for (int i = 1; i <= numRows;++i) {
vector<int> v(i);
int m = 0, n = i - 1;
int k = 0;
while (m <= n) {
if (m == 0) {
v[m++] = v[n--] = 1;
}
else {
v[m++] = v[n--] = (triangle[i - 2][k] + triangle[i - 2][k + 1]);
k++;
}
}
triangle.push_back(v);
}
return triangle;
}
};