Given a non-negative integer numRows, generate the first numRows of Pascal's triangle.
In Pascal's triangle, each number is the sum of the two numbers directly above it.
Example:
Input: 5 Output: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ]
按照规律brute force
时间:O(N^2),空间:O(N^2) -- N : numRows
class Solution { public List<List<Integer>> generate(int numRows) { List<List<Integer>> res = new ArrayList<>(); if(numRows == 0) return res; res.add(new ArrayList<>()); res.get(0).add(1); for(int i = 1; i < numRows; i++) { List<Integer> tmp = new ArrayList<>(); tmp.add(1); for(int j = 0; j + 1 < i; j++) { tmp.add(res.get(i - 1).get(j) + res.get(i - 1).get(j + 1)); } tmp.add(1); res.add(tmp); } return res; } }