题目内容:
解题思路:
- 根据杨辉三角的特性,第一列元素全都为1,每一行的最后一个元素也都为1
- 其余的元素由他上面的元素和他上面的前一个元素相加得来
- 每一行的每一个元素可以放进一个数组里面
- 每一行的元素也可以放进一个数组里面(类似于二维数组)
解题代码:
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> list = new ArrayList<>();
//第一层循环用来定义每层的一维数组
for(int i = 0;i < numRows; i++){
List<Integer> rowDate = new ArrayList<>(i + 1);
//第二层循环定义每个一维数组里面的元素
for(int j = 0;j <= i; j++){
if(0 == j || j == i){
rowDate.add(1);
}else{
rowDate.add(list.get(i - 1).get(j) + list.get(i - 1).get(j - 1));
}
}
list.add(rowDate);
}
return list;
}
}