1 解题思想
这道题就是最简单的求n层的杨辉三角,如果不知道什么是杨辉三角,那么首先百度下就好了。
所以这道题没什么技巧,直接按层计算就好
2 原题
Given numRows, generate the first numRows of Pascal's triangle.
For example, given numRows = 5,
Return
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]
3 AC解
public class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> list=new ArrayList<List<Integer>>();
if(numRows==0)
return list;
ArrayList<Integer> last=new ArrayList<Integer>();
last.add(1);
list.add(last);
for(int i=1;i<numRows;i++){
ArrayList<Integer> tmp=new ArrayList<Integer>();
tmp.add(1);
for(int j=1;j<i;j++){
tmp.add(last.get(j)+last.get(j-1));
}
tmp.add(1);
list.add(tmp);
last=tmp;
}
return list;
}
}