LeetCode—119.Pascal's Triangle II

Given a non-negative index kwhere k ≤ 33, return the kthindex row of the Pascal's triangle.

Note that the row index starts from 0.


与118题不同之处在于,本题只返回第k行。要求空间限制在O(k)。

由于有空间限制,因此不能把每行都算出来。用到以下性质:

除每行最左侧与最右侧的数字以外,每个数字等于它的左上方与右上方两个数字之和(也就是说,第n行第k个数字等于第n-1行的第k-1个数字与第k个数字的和)。可用此性质写出整个杨辉三角形。

从右往左写。vector初始默认为0。


class Solution {

public:

    vector getRow(int rowIndex) {

        vector ret(rowIndex+1);

        ret[0] = 1;

        for(int i=0; i

            for(int j=i+1; j>0; j--){

                ret[j]=ret[j] + ret[j-1];

            }

        }

        return ret;

    }

};

你可能感兴趣的:(LeetCode—119.Pascal's Triangle II)