给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> list = new ArrayList<>(numRows);
generate(numRows,list);
return list;
}
public void generate(int numRows,List<List<Integer>> list) {
if(numRows==0){
return;
}
generate(numRows-1,list);
ArrayList<Integer> rowList = new ArrayList<>(numRows);
for(int i = 0;i<numRows;i++){
if(i==0||i==numRows-1){
//首尾填1
rowList.add(1);
}else{
//其它根据上一个list数据求和
List<Integer> preList = list.get(numRows-2);
rowList.add(preList.get(i)+preList.get(i-1));
}
}
list.add(rowList);
}
}