12.杨辉三角
118. 杨辉三角
给定一个非负整数 numRows
,生成「杨辉三角」的前 numRows
行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。
示例 1:
输入: numRows = 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
示例 2:
输入: numRows = 1 输出: [[1]]
提示:
1 <= numRows <= 30
1 class Solution { 2 public List<List<Integer>> generate(int numRows) { 3 List<List<Integer>> res = new ArrayList(); 4 for(int i = 0;i < numRows;i++){ 5 List<Integer> temp = new ArrayList(); 6 for(int j = 0;j <= i;j++){ 7 if(j==0 || j==i){ 8 temp.add(1); 9 }else { 10 temp.add(res.get(i-1).get(j-1)+res.get(i-1).get(j)); 11 } 12 } 13 res.add(temp); 14 } 15 return res; 16 } 17 }
关键点:在第一个循环中创建numRows个二维列表,第二个循环中依次将每个数据填入一维列表中。
如何创建多维的列表并在其中添加数据。