题目挺简单的,只是要用集合来做。
-----------------------------------------------
给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。
在杨辉三角中,每个数是它左上方和右上方的数的和。
示例:
输入: 5 输出: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ]
-----------------------------------------------------------------------------
public List<List<Integer>> generate(int numRows) {
ArrayList<List<Integer>> LLI=new ArrayList<List<Integer>>();
for(int i=0;i<numRows;i++) {
ArrayList<Integer> LI=new ArrayList<Integer>();//每次初始化
LI.add(1);//第一个必定为1
for(int j=1;j<i;j++) {
LI.add(LLI.get(i - 1).get(j-1)+LLI.get(i-1).get(j));
}
if (i > 0) {
LI.add(1);
}
LLI.add(LI);
}
return LLI;
}