给定一个非负整数 *`numRows`,*生成「杨辉三角」的前 *`numRows`* 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。  **示例 1:** ```bash 输入: numRows = 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] ``` **示例 2:** ```bash 输入: numRows = 1 输出: [[1]] ``` **提示:** - `1 <= numRows <= 30` **代码:** ```java class Solution { public List> generate(int numRows) { List> res = new ArrayList<>(); for(int i=0 ; i row = new ArrayList<>(); for(int j = 0;j<=i;j++){ if(j==0 || j==i){ row.add(1); }else{ //第i层的第j个元素 = i-1层的第j个元素 + i-1层的第j-1元素 row.add(res.get(i - 1).get(j - 1) + res.get(i - 1).get(j)); } } res.add(row); } return res; } } ``` [1]: https://blog.iletter.top/usr/uploads/2024/10/795540259.gif Loading... 给定一个非负整数 *`numRows`,*生成「杨辉三角」的前 *`numRows`* 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。  **示例 1:** ```bash 输入: numRows = 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] ``` **示例 2:** ```bash 输入: numRows = 1 输出: [[1]] ``` **提示:** - `1 <= numRows <= 30` **代码:** ```java class Solution { public List<List<Integer>> generate(int numRows) { List<List<Integer>> res = new ArrayList<>(); for(int i=0 ; i<numRows ; i++){ ArrayList<Integer> row = new ArrayList<>(); for(int j = 0;j<=i;j++){ if(j==0 || j==i){ row.add(1); }else{ //第i层的第j个元素 = i-1层的第j个元素 + i-1层的第j-1元素 row.add(res.get(i - 1).get(j - 1) + res.get(i - 1).get(j)); } } res.add(row); } return res; } } ``` [1]: https://blog.iletter.top/usr/uploads/2024/10/795540259.gif 最后修改:2024 年 11 月 04 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏