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