给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。
在杨辉三角中,每个数是它左上方和右上方的数的和。
问题分析:
题目要求返回第k行的数字,我们可以把杨辉三角构造到k-1行,知道k-1行,那么第k行的数字就知道了。
class Solution {
public List<Integer> getRow(int rowIndex) {
ArrayList<Integer> ans = new ArrayList<Integer>();
int[][] a = new int[rowIndex][rowIndex];
for(int i = 0; i < rowIndex; i++){
for(int j = 0; j <= i; j++){
if(j == 0 || j == i){
a[i][j] = 1;
}else{
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
}
for(int j = 0; j <= rowIndex; j++){
if(j == 0 || j == rowIndex){
ans.add(1);
}else{
ans.add(a[rowIndex-1][j-1] + a[rowIndex-1][j]);
}
}
return ans;
}
}