原题链接:118. Pascal's Triangle
【思路】
杨辉三角形的每一行都和上一行有关,该行的首尾整数都是1,而其他元素都是上一行左右相邻两个元素之和:
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> result = new ArrayList<List<Integer>>();
if (numRows == 0) return result;
List<Integer> row = new ArrayList<Integer>();
row.add(1);
result.add(row); //将第一行加入到 result 中
for (int i = 1; i < numRows; i++) {
row = new ArrayList<Integer>();
row.add(1); //该行的第一个元素为1
List<Integer> temp = result.get(i - 1);
for (int j = 1; j < i; j++) //将该行中间的几个元素添加进去
row.add(temp.get(j - 1) + temp.get(j)); //该行的中间几个元素是上一行左右相邻两个元素之和
row.add(1); //该行的最后一个元素为1
result.add(row);
}
return result;
}
15 / 15
test cases passed. Runtime: 1 ms Your runtime beats 35.14% of javasubmissions.