给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。
在杨辉三角中,每个数是它左上方和右上方的数的和。
示例
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> list = new ArrayList<List<Integer>>();
if(numRows==0){
return list;
}
List<Integer> x = new ArrayList<>();
x.add(1);
list.add(x);
for(int i=1;i<numRows;i++){
List<Integer> n = new ArrayList<>();
int len = list.get(i-1).size();
for(int j=0;j<=len;j++){
if(j==0){
n.add(list.get(i-1).get(0));
}else if(j==len){
n.add(list.get(i-1).get(len-1));
}else{
n.add(list.get(i-1).get(j)+list.get(i-1).get(j-1));
}
}
list.add(n);
}
return list;
}
}
执行用时 : 1 ms, 在Pascal’s Triangle的Java提交中击败了96.78% 的用户
内存消耗 : 32.8 MB, 在Pascal’s Triangle的Java提交中击败了87.15% 的用户