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?

分析:细节实现题。代码如下:

class Solution {
public:
    vector<int> getRow(int rowIndex) {
        if(rowIndex == 0) return vector<int>(1,1);
        
        vector<int> result(2,1);
        for(int i = 3; i <= rowIndex+1; i++){
            vector<int> next;
            next.push_back(1);
            for(int j = 1; j < i-1; j++){
                next.push_back(result[j-1] + result[j]);
            }
            next.push_back(1);
            result = next;
        }
        return result;
    }
};

 

posted on 2014-12-05 17:07  Ryan-Xing  阅读(141)  评论(0编辑  收藏  举报