![](https://i-blog.csdnimg.cn/blog_migrate/2aed4ccd65361597dd91aee8c1b9fbea.png)
public static List<List<Integer>> generate(int numRows) {
//结果值
List<List<Integer>> res = new ArrayList<>();
//每一行的元素
ArrayList<Integer> row = new ArrayList<>();
for (int i = 0; i < numRows; i++) {
//下面一行都会比上面一行多一个元素,我们在第一个位置给他加个1
row.add(0, 1);
//遍历每一行的结果,遍历的时候跳过第一个和最后一个,
//每个格子的值都是他正上面和左上角元素的和
for (int j = 1; j < row.size() - 1; j++)
row.set(j, row.get(j) + row.get(j + 1));
//把结果存放到res中
res.add(new ArrayList<>(row));
}
return res;
}