发布自 ,欢迎大家转载,但是要注意注明出处
题目
给定一个非负整数numRows,生成杨辉三角的前numRows行。像这样:
1 1 1 1 2 1 1 3 3 11 4 6 4 1
在杨辉三角中,每个数字是他上方的两个数字的和。
解答
题目没什么难度,逐行生成即可。JavaScript代码如下:
let generate = (numRows) => { if (numRows < 1) return []; let result = []; for (let i = 0; i < numRows; i++) result.push(i === 0 ? [1] : (() => { let temp = []; for (let j = 0; j < i + 1; j++) temp.push(j === 0 || j === i ? 1 : result[i - 1][j - 1] + result[i - 1][j]); return temp; })()); return result;};