Given a non-negative index k where k ≤ 33, return the kth index row of the Pascal’s triangle.
Note that the row index starts from 0.
In Pascal’s triangle, each number is the sum of the two numbers directly above it.
Example:
Input: 3
Output: [1,3,3,1]
Follow up:
Could you optimize your algorithm to use only O(k) extra space?
思路
本题思路和118基本一致,唯一不同的是本题不需要把所有的曾都列出来
每次遍历寻找当前行和下一行的关系即可
i遍历每次给第一位赋值1
然后j从1开始遍历
每个位置都是当前加下一个位置
class Solution {
public List<Integer> getRow(int rowIndex) {
List<Integer> res = new ArrayList<>();
if(rowIndex < 1) return null;
for(int i = 0; i <= rowIndex;i++){
res.add(0,1);
for(int j = 1; j< i;j++){
res.set(j,res.get(j)+res.get(j+1));
}
}
return res;
}
}```