给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。
在杨辉三角中,每个数是它左上方和右上方的数的和。
输入: 5
输出:
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> res = new ArrayList<List<Integer>>();
if(numRows <= 0) return res;
res.add(Arrays.asList(1));
for(int i=1;i<numRows;i++){
List<Integer> e = new ArrayList<Integer>();
List<Integer> preList = res.get(i-1);
for(int j=0;j<=i;j++){
if(j==0 || j==i)
e.add(1);
else
e.add(preList.get(j-1)+preList.get(j));
}
res.add(e);
}
return res;
}
}