题目:
示例:
观察一下规律,发现当前一行只比上一行多了一个元素,最最关键的一点:本行元素等于上一行元素往后错一位再逐个相加。因此我们只要对最后一行单独处理:最后一行首、尾分别添加一个零然后对应位置求和就可以得到新的一行。
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>>res=new ArrayList<>();
List<Integer>tmp=new ArrayList<>();
if(numRows==0)return res;
tmp.add(1);
res.add(tmp);
for(int i=1;i<numRows;i++) {
tmp=new ArrayList<>();
tmp.add(1);
for(int j=1;j<=i-1;j++) {
tmp.add(res.get(i-1).get(j)+res.get(i-1).get(j-1));
}
tmp.add(1);
res.add(tmp);
}
return res;
}
}