难度:简单

    题目描述:
    给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。
    image.png
    在杨辉三角中,每个数是它左上方和右上方的数的和。

    示例:

    1. 输入: 5
    2. 输出:
    3. [
    4. [1],
    5. [1,1],
    6. [1,2,1],
    7. [1,3,3,1],
    8. [1,4,6,4,1]
    9. ]

    解题思路:
    除第一行外,第n行第j个都等于(n-1)[j-1]+(n-1)[j]

    1. var generate = function(n) {
    2. let i = 0;
    3. let data = [];
    4. while (i < n) {
    5. let arr = [];
    6. if (i === 0) {
    7. arr[i] = 1;
    8. } else {
    9. for (let j = 0; j < i + 1; j++) {
    10. let pre = data[i - 1][j - 1] || 0;
    11. let cur = data[i - 1][j] || 0;
    12. arr[j] = pre + cur;
    13. }
    14. }
    15. data.push(arr);
    16. i++;
    17. }
    18. return data;
    19. };