class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> list = new ArrayList<List<Integer>>();
for (int i = 1; i <= numRows; i++) {
List<Integer> temp = new ArrayList<Integer>();
for (int j = 0; j < i; j++) {
if(j == 0 || j == i-1){
//每排第一个和最后一个数
temp.add(1);
}else{
//每排其他数
temp.add(
list.get(i-2).get(j-1) + list.get(i-2).get(j)
);
}
}
list.add(temp);
}
return list;
}
}
思路:
1、先考虑每排第一个和最后一个数,为其它数做铺垫。
2、一排一排地解
3、除开每排第一个和最后一个数,其它数X[i]为上一排S[i-1]+S[i]