118. Pascal's Triangle


GivennumRows, generate the firstnumRowsof Pascal's triangle.

For example, givennumRows= 5,
Return

[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]

题目大意:

输入行数,输出如上图所示的数组。(杨辉三角)

思路:

用双vector来处理当前行和下一行。

代码如下:

classSolution{public:vector<vector<int>>generate(intnumRows){vector<vector<int>>result;if(numRows==0)returnresult;vector<int>curVec;vector<int>nextVec;for(inti=0;i<numRows;i++){for(intj=0;j<=i;j++){if(j==0)nextVec.push_back(1);else{if(j>=curVec.size())nextVec.push_back(curVec[j-1]);elsenextVec.push_back(curVec[j]+curVec[j-1]);}}result.push_back(nextVec);curVec.swap(nextVec);nextVec.clear();}returnresult;}};

2016-08-12 09:34:50