(LeetCode每日一刷20) 杨辉三角II

题目描述:

在杨辉三角中,每个数是它左上方和右上方的数的和。

示例: 

输入: 3
输出: [1,3,3,1]

进阶:

你可以优化你的算法到 O(k) 空间复杂度吗?

我提交的代码:

class Solution {
public:
    vector<int> getRow(int rowIndex) {
        int i;
        vector<int> result;
        vector<int> preVec;
        for (i = 1; i <= rowIndex + 1; ++i){
            vector<int> temp;
            if(1 == i){
                temp.push_back(1);
            }
            else{
                temp.push_back(1);
                int preSize = preVec.size();
                for (int j = 0; j < preSize - 1; ++j){
                    temp.push_back(preVec[j] + preVec[j+1]);
                }
                temp.push_back(1);
            }
            preVec = temp;
        }
        return preVec;
    }
};

猜你喜欢

转载自blog.csdn.net/songsong2017/article/details/84618995
今日推荐