题目:
给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。
在杨辉三角中,每个数是它左上方和右上方的数的和。
示例:
输入: 3
输出: [1,3,3,1]
思路:
利用一个队列来进行实现,后面add一个,前面remove一个
代码:
class Solution {
public List<Integer> getRow(int rowIndex) {
List<Integer> queue=new ArrayList<>();
if(rowIndex==0)
{
queue.add(1);
return queue;
}
if(rowIndex==1)
{
queue.add(1);
queue.add(1);
return queue;
}
queue.add(1);
queue.add(1);
for(int i=1;i<rowIndex;i++)
{
queue.add(1);
for(int j=0;j<i;j++)
{
queue.add(queue.get(0)+queue.get(1));
queue.remove(0);
}
queue.add(1);
queue.remove(0);
}
return queue;
}
}