LeetCode 118. Pascal's Triangle

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;
    }


原文地址:https://www.cnblogs.com/zeroingToOne/p/7800869.html