Question:
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?
?
?
Anwser 1: ??
[cpp] ?
class Solution { ?
public: ?
? ? vector getRow(int rowIndex) { ?
? ? ? ? // Start typing your C/
C++ solution below ?
? ? ? ? // DO NOT write int main() function ?
? ? ? ? vector ret; ?
? ? ? ? ??
? ? ? ? for(int i = 0; i <= rowIndex; i++){ ?
? ? ? ? ? ? if(i == 0) { ?
? ? ? ? ? ? ? ? ret.push_back(1); ?
? ? ? ? ? ? ? ? continue; ?
? ? ? ? ? ? } ? ? ? ? ? ? ?
? ? ? ? ? ? ??
? ? ? ? ? ? for(int j = i; j >= 0; j--){ ? ?// from end to begin ?
? ? ? ? ? ? ? ? if(j == 0) { ?
? ? ? ? ? ? ? ? ? ? ret[0] = 1; ?
? ? ? ? ? ? ? ? } else if(j == i){ ?
? ? ? ? ? ? ? ? ? ? ret.push_back(1); ?
? ? ? ? ? ? ? ? }else { ?
? ? ? ? ? ? ? ? ? ? ret[j] = ret[j-1] + ret[j]; ?
? ? ? ? ? ? ? ? } ?
? ? ? ? ? ? } ?
? ? ? ? } ?
? ? ? ? ??
? ? ? ? return ret; ?
? ? } ?
}; ?
?