解题思路:
- 下标0的都是数据1,所以数组的生成可以从下标1开始
- 当前数据 = 上一列数据的当前下标-1 + 上一列数据的当前下标
- 上一列数据的当前下标有可能没有数据
/**
* @param {number} numRows
* @return {number[][]}
*/
var generate = function(numRows) {
let c = 0;
let currentIndex = 1;
const result = [];
while (c < numRows) {
if (!result[c]) result[c] = [1];
while (result[c].length <= c) {
const item = result[c -1][currentIndex - 1] + (result[c - 1].length > currentIndex ? result[c - 1][currentIndex] : 0);
result[c].push(item);
currentIndex += 1;
}
currentIndex = 1;
c += 1;
}
return result;
};
需要注意一些边缘条件的判断