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?
My C++ solution!
vector<int> getRow(int rowIndex)
{
vector <int> result;
int i=0;
result.assign(1,1);
vector <int> temp;
while(rowIndex--)
{
result.swap(temp);
++i;
result.resize(i+1);
result[0]=1;
for(int j=1;j<i/2+1;j++)
result[j]=temp[j-1]+temp[j];
for(int j=i/2+1;j<i+1;j++)
result[j]=result[i-j];
}
return result;
}