LeetCode:Pascal's Triangle

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]
]
// https://oj.leetcode.com/problems/pascals-triangle/
// Author : Chao Zeng
// Date   : 2015-2-2

class Solution {
public:
    vector<vector<int> > generate(int numRows) {
        vector<vector<int> > res;
        vector<int> line;
        vector<int> nextline;
        if(numRows <= 0)
            return res;
        line.push_back(1);
        res.push_back(line);
        if(numRows == 1)
            return res;
        for (int i = 1; i < numRows; i++){
            nextline.push_back(1);
            for (int j = 0; j < i - 1; j++){
                nextline.push_back(line[j] + line[j+1]);
            }
            nextline.push_back(1);
            res.push_back(nextline);
            line = nextline;
            nextline.clear();//注意清空
        }
        return res;
    }
};



 

你可能感兴趣的:(LeetCode)