118. 杨辉三角

image.png

题解

  1. /**
  2. * @param {number} numRows
  3. * @return {number[][]}
  4. */
  5. var generate = function(numRows) {
  6. let res = [];
  7. if (numRows === 0) return res;
  8. // 第一行比较特殊,直接 push
  9. res.push([1]);
  10. // 第二行开始遍历
  11. for (let i = 1; i < numRows; i ++) {
  12. // 用于存放当前行
  13. let temp = [];
  14. // 用于存放上一行
  15. let preRow = res[i - 1];
  16. // 直接加入第一个元素
  17. temp.push(1);
  18. // 遍历除了行首和行尾的位置
  19. for (let j = 1; j < i; j ++) {
  20. temp.push(preRow[j - 1] + preRow[j]);
  21. }
  22. // 直接加入最后一个元素
  23. temp.push(1);
  24. res.push(temp)
  25. }
  26. return res;
  27. };