My answer:
class Solution { public List<List<Integer>> generate(int numRows) { List<List<Integer>> result = new ArrayList<List<Integer>>(numRows); if (numRows < 1) { return result; } List<Integer> firstRow = new ArrayList<Integer>(); firstRow.add(1); result.add(firstRow); List<Integer> lastRow = new ArrayList<Integer>(); lastRow.addAll(firstRow); for (int i = 2; i <= numRows; i ++) { List<Integer> nextRow = helper(lastRow); result.add(nextRow); lastRow.clear(); lastRow.addAll(nextRow); } return result; } private List<Integer> helper(List<Integer> lastRow) { List<Integer> nextRow = new ArrayList<Integer>(lastRow.size() + 1); nextRow.add(1); for (int i = 0; i < lastRow.size() - 1; i ++) { int nextValue = lastRow.get(i) + lastRow.get(i + 1); nextRow.add(nextValue); } nextRow.add(1); return nextRow; } }
No comments:
Post a Comment