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] ]
比较直观,注意我偷懒定义了两个宏
#define vi vector<int> #define vvi vector<vi > class Solution { public: vvi generate(int row) { if(row<=0) return vvi(); vvi ans(1,vi(1,1)); int preLine=0; vi curLine; while(preLine<row-1) { curLine.clear(); curLine.push_back(1); int k=ans[preLine].size(); for(int i=1;i<k;i++) curLine.push_back(ans[preLine][i-1]+ans[preLine][i]); curLine.push_back(1); ans.push_back(curLine); preLine++; } return ans; } };