# 118. Pascal's Triangle

## 1.問題&#x20;

* 給予一個numRows, 產生一個帕斯卡三角形

![](https://901207480-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGKoChvN9am4__HCIRK%2F-LNL17k7UO9Z0MeZenA3%2F-LNL5CUKqzHd6eZR2UMF%2F%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202018-09-26%20%E4%B8%8B%E5%8D%889.33.22.png?alt=media\&token=b9a4e177-2f36-4009-9817-05022e8085a0)

## 2.想法 <a href="#id-2-xiang-fa" id="id-2-xiang-fa"></a>

* 提問
* function header, parameter
* test input
* 說明想法
* 測試計算複雜度

## **3.程式碼** <a href="#id-3-cheng-shi" id="id-3-cheng-shi"></a>

```
class Solution {
public:
    vector<vector<int>> generate(int numRows) {
        if (numRows == 0) {
            return {};
        }
        
        vector<vector<int>> res;
        res.push_back({1});
        
        for (int i = 0; i < numRows - 1; i++) {
            int size = res[i].size();
            vector<int> record;
            record.push_back(res[i][0]);
            for (int j = 1; j < size; j++) {
                record.push_back(res[i][j - 1] + res[i][j]);
            }
            record.push_back(res[i][size - 1]);
            res.push_back(record);
        }
        
        return res;
    }
};
```
