给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。
在杨辉三角中,每个数是它左上方和右上方的数的和。
示例:
输入: 3
输出: [1,3,3,1]
解题思路
因为杨辉三角的下层由上一层决定,所以只需要保存上一层的元素,就能计算得出本层的元素
代码
class Solution {
public List<Integer> getRow(int rowIndex) {
List<Integer> cur=new ArrayList<>();
cur.add(1);
for(int i=0;i<rowIndex;i++)
{
List<Integer> next=new ArrayList<>();
next.add(1);//头尾都是1
for(int j=0;j+1<cur.size();j++)//从上一层元素计算本层的
next.add(cur.get(j)+cur.get(j+1));
next.add(1);
cur=next;
}
return cur;
}
}