首页 > 代码库 > LeetCode119——Pascal's Triangle II

LeetCode119——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?

题目大意

给定一个索引k,返回第k行帕斯卡三角的数据。

难度系数:容易

实现

代码一次性通过。当然,我这个使用递归的做法,占用的空间会比较多,可以使用for循环来优化。

 vector<int> getRow(int rowIndex)
{
    vector<int> vi;
    if (rowIndex == 0) {
        vi.push_back(1);
    }else {
        std::vector<int> tempv = getRow(rowIndex - 1);
        for (int i = 0; i < rowIndex+1; ++i) {
            if (i == 0 || i == rowIndex) {
                vi.push_back(1);
            } else {
                vi.push_back(tempv[i-1] + tempv[i]);
            }
        }
    }
    return vi;
} 

LeetCode119——Pascal's Triangle II