Pascal's Triangle
Given numRows, generate the first numRows of Pascal's triangle.
- Time: O(n)
- Space: O(1)
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> ret = new ArrayList<>();
List<Integer> row, pre = null;
for (int i = 0; i < numRows; i++) {
row = new ArrayList<>();
for (int j = 0; j <= i; j++) {
if (j == 0 || j == i) {
row.add(1);
} else {
row.add(pre.get(j - 1) + pre.get(j));
}
}
pre = row;
ret.add(row);
}
return ret;
}