【leetcode】Pascal's Triangle

Question:      

 

Given numRows, generate the first numRows of Pascal's triangle.

For example, given numRows = 5,
Return

[

     [1],

    [1,1],

   [1,2,1],

  [1,3,3,1],

 [1,4,6,4,1]

]

 

Anwser 1:      

 

class Solution {

public:

    vector<vector<int> > generate(int numRows) {

        // Start typing your C/C++ solution below

        // DO NOT write int main() function

        vector< vector<int> > ret;

        

        for(int i = 0; i < numRows; i++){

            vector<int> tmp;

            tmp.clear();

            if(i == 0) {

                tmp.push_back(1);

                ret.push_back(tmp);

                continue;

            }

            

            for(int j = 0; j <= i; j++){

                if(j == 0) {

                    tmp.push_back(1);

                } else if(i == j){

                    tmp.push_back(1);

                } else {

                    tmp.push_back( ret[i-1][j-1] + ret[i-1][j] );   // last row

                }

            }

            ret.push_back(tmp);

        }

        

        return ret;

    }

};


 

 

 

你可能感兴趣的:(LeetCode)