public class Solution { public List> generate(int numRows) { List> result = new ArrayList>(); if (numRows < 1) return result; List firstElem = new ArrayList(); firstElem.add(1); result.add(firstElem); if (numRows == 1) { return result; } for (int i = 2; i <= numRows; i++) { List row = new ArrayList(); row.add(1); List preRow = result.get(i - 2); for (int j = 1; j < i - 1; j++) { row.add(preRow.get(j - 1) + preRow.get(j)); } row.add(1); result.add(row); } return result; } }