Problem:
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] ]
Summary:
输出杨辉三角的前n行。
Solution:
方法类似于LeetCode 119 Pascal's Triangle II
1 class Solution { 2 public: 3 vector<vector<int>> generate(int numRows) { 4 vector<vector<int>> res; 5 vector<int> v; 6 for (int i = 0; i < numRows; i++) { 7 v.resize(i + 1); 8 v[0] = v[i] = 1; 9 for (int j = i - 1; j > 0; j--) { 10 v[j] = v[j - 1] + v[j]; 11 } 12 res.push_back(v); 13 } 14 15 return res; 16 } 17 };
class Solution {public: vector<vector<int>> generate(int numRows) { vector<vector<int>> res; vector<int> v; for (int i = 0; i < numRows; i++) { v.resize(i + 1); v[0] = v[i] = 1; for (int j = i - 1; j > 0; j--) { v[j] = v[j - 1] + v[j]; } res.push_back(v); } return res; }};