Given numRows, generate the first numRows of Pascal's triangle.
Pascal's triangle就是传说中的杨辉三角,这题只要知道杨辉三角的性质就很好做。杨辉三角中第i 行第j 个元素等于第 i-1 行第 j 个元素和 第 j-1 个元素之和。
public class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> pascal = new ArrayList<List<Integer>>();
if(numRows == 0){
return pascal;
}
List<Integer> temp = new ArrayList<Integer>();
temp.add(1);
pascal.add(temp);
for(int i =1; i < numRows; i++){
temp = new ArrayList<Integer>();
for(int j = 0; j <= i; j++){
if(j == 0 || j == i){
temp.add(1);
}else{
temp.add(pascal.get(i-1).get(j) + pascal.get(i-1).get(j-1)); //第i行的第j个元素等于第i-1行的第j个元素和第j-1个元素之和
}
}
pascal.add(temp);
}
return pascal;
}
}