给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
class Solution {
public:
vector<vector<int>> generate(int numRows)
{
vector<vector<int>> res(numRows);//有numRows行数据
if(numRows == 0)
return res; //若numRows为空,返回空数组
for(int i = 0; i < numRows; ++i ) //给数组一个个赋值
{
for(int j = 0; j <= i; ++j) //第i行有i+1个数,每行都从下标0开始
{
if(j == 0 || j == i) //若是当前行左右两边的边界,赋值为1
res[i].push_back(1);//行向量
else //否则赋值为该位置左上与右上的和
res[i].push_back(res[i-1][j-1] + res[i-1][j]);
}
}
return res;
}
};