leetcode 33:pascals-triangle

给出一个值numRows,生成杨辉三角的前numRows行
例如,给出 numRows = 5,
返回
  [↵     [1],↵    [1,1],↵   [1,2,1],↵  [1,3,3,1],↵ [1,4,6,4,1]↵]
题目分析:
这道题其实和上道题leetcode 32:pascals-triangle-ii的解法基本一致,只是在输出的处理上有所不同。
代码如下:
 1 vector<vector<int> > generate(int numRows) {
 2         vector<vector<int>> ret;
 3         if(numRows <= 0)
 4             return ret;
 5         vector<int> tmp(numRows,0);
 6         tmp[0] = 1;
 7         
 8         std::vector<int> ll;
 9         ll.push_back(1);
10         ret.push_back(ll);
11         for (int i = 1; i < numRows; i++)
12         {
13             std::vector<int> tt;
14             for (int j = i; j >= 1; j--)
15             {
16                 tmp[j] += tmp[j - 1];
17             }
18 
19             for (int k = 0; k <= i; k++)
20             {
21                 tt.push_back(tmp[k]);
22             }
23             ret.push_back(tt);
24         }
25         return ret;
26     }
原文地址:https://www.cnblogs.com/qingjiaowoxiaoxioashou/p/13512431.html