您的位置:首页 > 其它

118. Pascal's Triangle

2016-04-05 18:48 295 查看
题目

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行,然后循环根据上一行创建当前行。

class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector<vector<int>> vec(numRows);
if(numRows==0)
return vec;
vec[0].push_back(1);
for(int i=1;i<numRows;i++)//从第二行开始
{
vec[i].resize(i+1);//重建当前行容器的容量为当前下标+1
vec[i][0]=1;//初始化头结点
vec[i][i]=1;//初始化尾结点
for(int j=1;j<vec[i-1].size();j++)//根据上一行计算中间结点j
{
vec[i][j]=vec[i-1][j-1]+vec[i-1][j];//当前行第j个元素等于上一行第j-1+第j
}
}
return vec;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: