当前位置=上一行相邻的位置之和 即第 n 行的第 i 个数等于第 n-1 行的第 i-1 个数和第 i 个数之和。


三角形的左边界和有边界都是1

public List<List<Integer>> generate(int numRows) {
List<List<Integer>> res = new ArrayList<>();
for(int i=0;i<numRows;i++){ //代表行
List<Integer> row = new ArrayList<>();
for(int j=0;j<=i;j++){ //代表列,一行有一列,两行有两列
if(j==0 || j==i){ //每列的左右两边的边界
row.add(1);
}else{
//即第 n 行的第 i 个数等于第 n-1 行的第 i-1 个数和第 i 个数之和。
row.add(res.get(i-1).get(j-1)+res.get(i-1).get(j));
}
}
res.add(row);
}
return res;
}