您的位置:首页 > 其它

[leetcode 118] Pascal's Triangle

2015-01-01 14:31 369 查看
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]
]


思路:一层一层扩展即可
class Solution {
public:
vector<vector<int> > generate(int numRows) {
vector<vector<int> > res;
if (numRows == 0) {
return res;
}
if (numRows == 1) {
vector<int> tmp(1,1);
res.push_back(tmp);
return res;
}
vector<int> prev(1,1);
vector<int> cur;
res.push_back(prev);
for (int i = 2; i <= numRows; i++) {
cur.push_back(1);
for (auto j = prev.begin(); j != prev.end() - 1; j++) {
cur.push_back(*j+*(j+1));
}
cur.push_back(1);
res.push_back(cur);
prev.clear();
swap(prev, cur);
}
return res;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: