Difficulty: Easy
Given an index k, return the kth row of the Pascal's triangle.
For example, given k = 3,
Return [1,3,3,1]
.
Note:
Could you optimize your algorithm to use only O(k) extra space?
class Solution {
public:
vector<int> getRow(int rowIndex) {
if(rowIndex<0)
return vector<int>();
if(rowIndex==0)
return {1};
vector<int> ores(2,1);
if(rowIndex==1)
return ores;
for(int i=1;i<rowIndex;++i){
vector<int> res;
res.push_back(1);
int osize=ores.size();
for(int i=0;i<osize-1;++i)
res.push_back(ores[i]+ores[i+1]);
res.push_back(1);
ores=res;
}
return ores;
}
};