package com.student.play;
import java.util.ArrayList;
import java.util.List;
class Solution {
public static List<List<Integer>> generate(int numRows) {
List<List<Integer>> triangle = new ArrayList<List<Integer>>();
if (numRows == 0) {
return triangle;
}
triangle.add(new ArrayList<>());
triangle.get(0).add(1);
for (int rowNum = 1; rowNum < numRows; rowNum++) {
List<Integer> row = new ArrayList<>();//当前行
List<Integer> prevRow = triangle.get(rowNum-1);//上一行
row.add(1);
for (int j = 1; j < rowNum; j++) {
row.add(prevRow.get(j-1) + prevRow.get(j));
}
row.add(1);
}
return triangle;
}
public static void main(String[] args) {
int numRows = 5;
generate(numRows);
}
}
row.add(1);
后面加上
triangle.add(row);
另外main
int numRows = 5;
List<List<Integer>> list = generate(numRows);
for (List<Integer> l : list)
{
for (Integer i : l)
{
System.out.print(i + " ");
}
System.out.println("");
}
楼上说的对,但triangle.add(row);只能加一个,不要row.add(1);后面都加