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] ]
杨辉三角。按杨辉三角形的计算规则,每一层的第i个位置的元素,等于上一层第i - 1与第i个位置之和。具体代码如下:
public class Solution { public List<List<Integer>> generate(int numRows) { List<List<Integer>> arrayList = new ArrayList<List<Integer>>(); for (int i = 0; i < numRows; i++) { List<Integer> arrListFirst = new ArrayList<Integer>(); for (int j = 0; j <= i; j++) { // 每一行第一位和最后一位为1 if (j == 0 || j == i) arrListFirst.add(1); // 计算中间位置的数 else arrListFirst.add(arrayList.get(i - 1).get(j - 1) + arrayList.get(i - 1).get(j)); } arrayList.add(arrListFirst); } return arrayList; }