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) {
        vector<int> result;
        int i=0;
        result.push_back(1);
        for(int i=1;i<=rowIndex;i++)
        {
            vector<int> v=result;
            for(int j=1;j<i;j++) v[j]=result[j]+result[j-1];
            v.push_back(1);
            result=v;
        }
        return result;
    }
};

 

posted @ 2014-05-30 01:21  erictanghu  阅读(74)  评论(0编辑  收藏  举报