Pascal's Triangle II

Description

Given a non-negative index k where k ≤ 33, return the kth index row of the Pascal's triangle.

Note that the row index starts from 0.

Example:

Input: 3
Output: [1,3,3,1]

Follow up:

Could you optimize your algorithm to use only O(k) extra space?

Solution

class Solution {
public:
    vector<int> getRow(int rowIndex) {
        vector<int> row(rowIndex + 1);
        row[0] = 1;
        int prev, sum;
        for(int i = 1; i <= rowIndex; ++i){
            prev = 1;
            for(int j = 1; j < i; ++j){
                sum = prev + row[j];
                prev = row[j];
                row[j] = sum;
            }
            row[i] = 1;
        }
        return row;
    }
};

Last updated