题目:
解析:
该题目解析起来更像是数学推导,找到里面的规律
1、第n行有n个元素
2、第i行第j个元素,为第i-1行,j-1个元素和j个元素的和
3、每行第一个,最后一个元素是1
代码:
public List<List<Integer>> generate(int numRows) {List<List<Integer>> result = new ArrayList<>();List<Integer> oneLevel = new ArrayList<>();oneLevel.add(1);result.add(oneLevel);for (int i = 1; i < numRows; i++) {List<Integer> iLevel = new ArrayList<>();iLevel.add(1);for (int j=1;j<i;j++) { // 注意如果是第5行,i最大4,j最大3,最后一列j==4,应该补1Integer nowVal = result.get(i-1).get(j-1) + result.get(i-1).get(j);iLevel.add(nowVal);}iLevel.add(1);result.add(iLevel);}return result;
}