给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。

在杨辉三角中,每个数是它左上方和右上方的数的和。
示例:

代码实现
class Solution {
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<>();
//遍历第i行的0到i个数
for(int j=0;j<=i;j++){
//如果是第i行的第一个数或者最后一个数,row.get(j)=1
if(j==0||j==i){
row.add(1);
}else{
//否则row.get(j)=res.get(i-1).get(j-1)+res.get(i-1).get(j)
row.add(res.get(i-1).get(j-1)+res.get(i-1).get(j));
}
}
res.add(row);
}
return res;
}
}

100

被折叠的 条评论
为什么被折叠?



