给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。
在杨辉三角中,每个数是它左上方和右上方的数的和。
示例:
[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ]
解题思路:
用1来填充链表,每行除了第一个元素和最后一个元素,将当前行的第j个元素与j+1元素的值相加得到下一行的第j个元素的值。
代码:
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> res = new ArrayList<>();
List<Integer> temp = new ArrayList<>();
for(int i=0; i<numRows; i++){
temp.add(1);
for(int j=temp.size()-2; j>0; j--){
temp.set( j, temp.get(j) + temp.get(j-1));
}
res.add(new ArrayList<>(temp));
}
return res;
}
}