[LeetCode] 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]
]

模拟题。
 1 class Solution {
 2 private:
 3     vector<vector<int> > ret;
 4 public:
 5     vector<vector<int> > generate(int numRows) {
 6         // Start typing your C/C++ solution below
 7         // DO NOT write int main() function
 8         ret.clear();
 9         
10         for(int i = 0; i < numRows; i++)
11         {
12             if (i == 0)
13             {
14                 vector<int> a;
15                 a.push_back(1);
16                 ret.push_back(a);
17             }
18             else
19             {
20                 vector<int> a;
21                 for(int j = 0; j <= i; j++)
22                     if (j == 0)
23                         a.push_back(ret[i-1][j]);
24                     else if (j == i)
25                         a.push_back(ret[i-1][j-1]);
26                     else
27                         a.push_back(ret[i-1][j-1] + ret[i-1][j]);
28                 ret.push_back(a); 
29             }
30         }
31         
32         return ret;
33     }
34 };
posted @ 2012-11-13 11:36  chkkch  阅读(600)  评论(0编辑  收藏  举报