题目描述
给定一个非负整数 numRows, 生成「杨辉三角」的前 *numRows*行。
在**「杨辉三角」**中,每个数是它左上方和右上方的数的和。

题解:
java
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> c = new ArrayList<>(numRows);
c.add(List.of(1));
for(int i = 1; i < numRows;i++){
List<Integer> row = new ArrayList<>(i+1);
row.add(1);
for(int j = 1; j < i;j++){
row.add(c.get(i-1).get(j-1) + c.get(i-1).get(j));
}
row.add(1);
c.add(row);
}
return c;
}
}
题解思路:
循环遍历,填充集合,当前节点值等于正上方的值以及左上方的值相加。每行的最左边和最右边的值都固定为1。