118. Pascal's Triangle

118. 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]
]

在每一行后面+1, 再更新该行.
另外学会向vector容器中放vector元素.
人家代码,自己理解:

vector<vector<int>> generate(int numRows) {
    vector<vector<int>> result;
    vector<int> row;

    // i = 0, 该行有1元素, j = -1, 但合并条件是j > 0
    // i = 1, 该行有2元素, j = 0, 但合并条件是j > 0
    // i = 2, 该行有3元素, j 指向倒数第二个元素
    // i = 3, 该行有4元素, j 指向倒数第二个元素
    for (int i = 0; i < numRows; i++) {
        row.push_back(1); // 在尾部先+1

        for (int j = i - 1; j > 0; j--)
            //和j的前一个元素合并至j位置
            row[j] = row[j - 1] + row[j];
        result.push_back(row);
    }
    return result;
}
原文地址:https://www.cnblogs.com/ZhongliangXiang/p/7356994.html