LeetCode:Pascal's Triangle II

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?

 

// https://oj.leetcode.com/problems/pascals-triangle-ii/
// Author : Chao Zeng
// Date   : 2015-2-2

class Solution {
public:
    vector<int> getRow(int rowIndex) {
        vector<int> line;
        vector<int> nextline;
        if (rowIndex < 0)
            return line;
        line.push_back(1);
        if (rowIndex == 0)
            return line;

        for (int i = 1; i <= rowIndex; i++){
            nextline.push_back(1);
            for (int j = 0; j < i - 1; j++){
                nextline.push_back(line[j] + line[j+1]);
            }
            nextline.push_back(1);
            line = nextline;
            nextline.clear();
        }
        return line;
    }
};


 

你可能感兴趣的:(LeetCode)