Description:
Given numRows, generate the first numRows of Pascal’s triangle.
问题描述:
Pascal三角也被称为杨辉三角,杨辉三角的本质是二项式的展开系数。给定一个层值,返回前层值的杨辉三角。
Ex:
given numRows = 5
Return
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]
解法一:
思路:
对于这个问题,需要两种数据结构。ArrayList和ArrayList
Code:
public class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> triangle = new ArrayList<List<Integer>>();
if(numRows <= 0){
return triangle;
}
for(int i = 0 ; i < numRows; i++){
List<Integer> row = new ArrayList<Integer>();
for(int j = 0;j <i+1;j++){
if(j == 0 || j == i){
row.add(1);
}
else{
row.add(triangle.get(i-1).get(j-1) + triangle.get(i-1).get(j));
}
}
triangle.add(row);
}
return triangle;
}
}