原题地址(简单)
方法1—直接法
思路
直接根据题意做。
代码
class Solution {public:vector<vector<int>> generate(int numRows) {vector<vector<int>> ans;if(numRows >= 1) ans.push_back({1});if(numRows >= 2) ans.push_back({1,1});for(int i=2; i<numRows; i++) {vector<int> tmp, v = ans[i-1];tmp.push_back(1);for(int j=0; j<v.size()-1; j++) {tmp.push_back(v[j] + v[j+1]);}tmp.push_back(1);ans.push_back(tmp);}return ans;}};
代码写的不好,官方的写的很简洁, 官方代码如下:
class Solution {public:vector<vector<int>> generate(int numRows) {vector<vector<int>> ans(numRows);for(int i=0; i<numRows; i++) {ans[i].resize(i+1);ans[i][0] = ans[i][i] = 1;for(int j=1; j<i; j++) {ans[i][j] = ans[i-1][j-1] + ans[i-1][j];}}return ans;}};
