题目链接
解题思路
- 在杨辉三角中,每个数是它左上方和右上方的数的和
- 除了最两侧都是
1外,如下动图所示 
AC代码
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> ans = new ArrayList<List<Integer>>();
for (int i = 0; i < numRows; i++) {
List<Integer> row = new ArrayList<>();
for (int j = 0; j <= i; j++) {
if (j == 0 || j == i)
row.add(1);
else
row.add(ans.get(i - 1).get(j - 1) + ans.get(i - 1).get(j));
}
ans.add(row);
}
return ans;
}
}
本地测试代码
package com.company;
import java.util.ArrayList;
import java.util.List;
public class Solution_118 {
public static List<List<Integer>> generate(int numRows) {
List<List<Integer>> ans = new ArrayList<List<Integer>>();
for (int i = 0; i < numRows; i++) {
List<Integer> row = new ArrayList<>();
for (int j = 0; j <= i; j++) {
if (j == 0 || j == i)
row.add(1);
else
row.add(ans.get(i - 1).get(j - 1) + ans.get(i - 1).get(j));
}
ans.add(row);
}
return ans;
}
public static void main(String[] args) {
System.out.println(generate(5));
}
}