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) {
vector<int> v;
vector<int> v2;
v.push_back(1);
if(rowIndex==0)
return v;
v.push_back(1);
if(rowIndex==1)
return v;
for(int i=2;i<=rowIndex;i++){
v2.push_back(1);
for(int j=1;j<i;j++){
v2.push_back(v[j-1]+v[j]);
}
v2.push_back(1);
v = v2;
v2.clear();
}
return v;
}
};