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]
]
题目大意:
输入行数,输出如上图所示的数组。(杨辉三角)
思路:
用双vector来处理当前行和下一行。
代码如下:
class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector<vector<int>> result;
if(numRows == 0)
return result;
vector<int> curVec;
vector<int> nextVec;
for(int i = 0;i < numRows; i++)
{
for(int j = 0;j<=i;j++)
{
if(j == 0)
nextVec.push_back(1);
else
{
if(j >= curVec.size())
nextVec.push_back(curVec[j-1]);
else
nextVec.push_back(curVec[j] + curVec[j-1]);
}
}
result.push_back(nextVec);
curVec.swap(nextVec);
nextVec.clear();
}
return result;
}
};
2016-08-12 09:34:50