给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。
在杨辉三角中,每个数是它左上方和右上方的数的和。
示例:
输入: 3 输出: [1,3,3,1]
进阶:
你可以优化你的算法到 O(k) 空间复杂度吗?
class Solution {
public:
vector<int> getRow(int rowIndex) {
vector<int> result;
for(int row=0; row<rowIndex+1; row++)
{
vector<int> vals(row+1, 1);
for(int i=1; i<row; i++)
{
vals[i]=result[i-1] + result[i];
}
result=vals;
}
return result;
}
};
从第0行开始求,每次求完都用一个变量保存下此行的值